Humanity Fluent Software Language
Total Page:16
File Type:pdf, Size:1020Kb
Pyash: Humanity Fluent Software Language Logan Streondj February 13, 2019 Contents 1 Introduction 4 1.1 Problem ................................... 4 1.1.1 Disglossia ............................... 4 1.2 Paradigm ................................... 5 1.2.1 Easy to write bad code ........................ 5 1.2.2 Obsolete Non-Parallel Paradigms .................... 5 1.3 Inspiration ................................. 5 1.4 Answer .................................... 5 1.4.1 Vocabulary ............................... 5 1.4.2 Grammar ................................ 5 1.4.3 Paradigm ................................ 6 I Core Language 7 2 Phonology 8 2.1 Notes .................................... 8 2.2 Contribution ................................. 8 3 Grammar 10 3.1 Composition ................................. 10 3.2 Grammar Tree ................................. 10 3.3 Noun Classes ................................. 10 3.3.1 grammatical number .......................... 12 3.3.2 noun classes for relative adjustment ................. 12 3.3.3 noun classes by animacy ........................ 13 3.3.4 noun classes regarding reproductive attributes ............ 13 3.4 Tense .................................... 13 3.5 Aspects ................................... 13 3.6 Grammatical Mood ............................... 14 3.7 participles ................................. 16 4 Dictionary 18 4.1 Prosody ................................... 18 4.2 Trochaic Rhythm ............................... 18 4.3 Espeak .................................... 18 4.4 Semantics .................................. 18 4.4.1 Execution Model ............................ 18 4.4.2 Variable Addressing .......................... 18 4.4.3 Declaration addressing ........................ 19 1 4.5 Rank ..................................... 20 4.5.1 Asynchronous reading and writing to buffer .............. 20 4.5.2 Relative-Pointers ........................... 21 4.6 Phrase Composition .............................. 21 5 Music 22 II Instruments 24 5.1 Language Instruments ............................. 25 5.1.1 mlathlasxrisge ............................ 25 5.2 ksiktfikge .................................. 27 5.3 Dlutna: Denotation Finder .......................... 28 III Compiler 29 6 Specification 30 6.1 stages of compilation ............................ 30 6.2 Method for implementation .......................... 30 6.3 answer verification ............................. 30 6.4 Memory .................................... 32 6.5 Control Flow ................................. 32 6.6 translate all independentClauses to C .................... 32 6.6.1 C Name Composition .......................... 32 7 Operation Template 34 7.1 overview ................................... 34 7.1.1 translation .............................. 34 7.1.2 Compiler ................................ 34 8 Pyash Encoding 36 8.1 VLIW's Head Index .............................. 36 8.2 Word Compression ............................... 36 8.2.1 CCVTC or CSVTF ............................ 36 8.2.2 HCVTF ................................. 37 8.2.3 CSVT .................................. 37 8.2.4 CVT .................................. 37 8.3 Quotes .................................... 37 8.4 Extension .................................. 38 8.5 Encoding Tidbit Overview .......................... 38 8.6 Table of Values ............................... 39 8.7 Quote Sort .................................. 39 8.7.1 definitions .............................. 39 8.7.2 Sequence Extension .......................... 41 8.7.3 definitions .............................. 41 8.7.4 Variable Pile ............................. 41 8.7.5 Named Variable Example ........................ 42 8.8 Independent-Clause Code Name ........................ 42 2 IV Machine Intelligence 43 9 Machine Programmer 44 9.1 Oracle Based, or Active Synthesis ...................... 44 9.2 Overview ................................... 45 9.3 input specification ............................. 45 9.3.1 Constraint Specification ....................... 45 9.3.2 Specification example ......................... 45 9.4 Evolutionary programming .......................... 46 9.5 Ceremony produce ............................... 46 9.5.1 produce example ............................ 46 10 Codelet Bytecode Interpreter on GPU 47 10.1 Introduction ................................. 47 10.2 Previous Works ................................ 47 10.3 Operating Template .............................. 48 10.3.1Memory Template ............................ 48 10.3.2Control Flow .............................. 49 10.4 Speculation ................................. 51 10.5 Conclusion and Further Work ......................... 51 3 List of Figures 7.1 Compiler Petri Net .............................. 35 4 List of Tables 3.1 Grammar Tree ................................. 11 3.2 Aspect Tree ................................. 15 3.3 Grammatical Mood Tree ............................ 17 8.1 grammtical-case number system ........................ 42 10.1 Codelet layout, composed of one ushort16, a 16bit phrase, a 32bit phrase, and 64bit phrase are demonstrated. ....................... 48 10.2 Index Overview ................................ 48 10.3 Multi ushort16 Codelet layout, includes two conditional clauses, a 16bit phrase, a 32bit phrase, and 64bit phrase, are demonstrated. ............. 49 5 Chapter 1 Introduction This is a human speakable programming Eden was the great rift valley of language, geared for artificial general Africa. intelligence development. Mitochondrial Eve lived during times of famine where most women were likely too starved to be fertile. Eve was 1.1 Problem a clan leader and got enough food to reproduce, she had many daughters that 1.1.1 Disglossia became clan leaders. Computer Languages Human language may have been perfected by Mitochondrial Eve, she helped her In order to program all levels of a clan work together more efficiently than modern computer, you need to know many all the others during the population different programming languages. Assembly/LLVM/SPIRVbottleneck, and thus came out the winner. at the lowest level, C for system programming, To this day we inherit our language C++/GTK/QT for graphical interface programming,brain centers from the mothers side. Javascript/HTML/CSS/PHP/Perl for web Eve's daughters spread out, some programming, OpenCL/OpenMP/Pthread for went west, some, south, some east, some parallel programming, bash/python/ruby/node north. for scripting, Java/C#/Lua for portable Those that went South and East preserved programming, ansible/chef/docker/kubernetes clicks, like the Khoisan people of the for administration, a host of different kalahari. Those that went west into data storage formats XML/CSV/JSON/YAML/SQL the jungle became the pygmies. Those and different documentation languages that went north eventually became the LaTeX/Doxygen/Markdown/TexInfo just to farmers, the Bantu and peoples of the name a few. That doesn't even include rest of the continents. statistics, audio, image and video processing languages. The language of Mitochondrial Eve can be reconstructed based on the common features of the oldest languages in the Human Languages world, as well as our genetic predispositions You may have heard the story of Babel, to prefer certain forms of grammar. and the story of Eve and the apple. The The most common grammar form, and the evidence goes back much farther, to one we are predisposed to is subject-object-verb Mitochondrial Eve, in thesecond last (SOV), or head-final with postpositions glaciation about 130 thousand years ago. and-or suffixes. Similar to Khoe (of the Mitochondrial Eve is the most successful khoisan), Basque (the first homo-sapiens mother, the mother all homo-sapiens in Europe), Australian languages, Turkic share. (Central Asian), Uralic (North Eurasian), 6 Tibetan/Burmese (East Asian) and 1.4 Answer Proto-Indo-European (That conquered the world). The answer I came up with is the speakable programming language. 1.2 Paradigm 1.4.1 Vocabulary 1.2.1 Easy to write bad code The root vocabulary was generated by In most, perhaps all contemporary languages taking the most frequently used thirty-eight it is easy for beginners to write bad thousand English words, translating code. them into the top thirty to forty human In assembly it is easy to write tangled languages, and then removing words that spaghetti code. In C and C++ it is were ambiguous and-or homophones. easy to have memory problems (buffer This left a remainder of about eight overflow, memory leaks, reading unassigned thousand words, which were common to all variables, etc) In Garbage collection languages and orthogonal (not overlapping languages it is easy to spend significant in meaning). computer resources on allocating and This way you can use the root words of deallocating memory. In Object Oriented your preferred language to program, and languages it is easy to write unscalable they will be translated to all the other code (any which uses objects). In functional languages. programming languages it is easy to write memory bound code (non-tail recursive with lots of allocation and deallocation). 1.4.2 Grammar It often takes a lot of expertise Pyash currently uses Eve's grammar: SOV to know the workarounds for the common with postpositions and-or affixes is the programming traps, and even harder to grammar of Pyash the base language of apply them consistently. Pyash. Transferring it to other forms of 1.2.2 Obsolete Non-Parallel Paradigms grammar is fairly