Proto-Elven language

The Proto-Elven language was the language of the Proto-Elves. It's descendants are Proto-Human language, High Elven, Wood Elven and Neressan.

Despite being a proto-language, it was surprisingly well-attested, although the majority of written records come from foreign, non-Elven sources, and overwhelmingly attest transitional periods between real Proto-Elven and one of its four descendant languages. Because they come from non-Elven sources, they are very often plagued with inconsistency, loss of several distinctions, and native language-influenced biases.

As such, most of the written records fail to give an accurate representation of what actual Proto-Elven may have sounded like.

Nevertheless, attempts to reconstruct the language date back to as early as just two centuries after it's extinction, and these reconstructions have proven to be accurate enough to make spells written in it stronger - as Arcane Magic is stronger when the spell is written and recanted in an extinct or ancient language, the older the better.

Consonants
/n tʰ t d/ are actually denti-alveolar [n̪ t̪ʰ t̪ d̪].

It is important to note that the post-alveolar series was special in the allophony involving the place of articulation - they were retroflex before back and central vowels, palatal before front vowels.

As such, /ṉ t͡ʃʰ t͡ʃ d͡ʒ ʃ ʒ ḻ r̠/ were realized as retroflex [ɳ ʈ͡ʂʰ ʈ͡ʂ ɖ͡ʐ ʂ ʐ ɭ ɽ~ɻ] before back and central vowels, as alveolo-palatal [ɲ t͡ɕʰ~cʰ t͡ɕ~c d͡ʑ~ɟ ɕ ʑ ʎ ɺʲ] before front vowels. Syllabic /r̠/ was always realized as an R-coloured vowel [ɚ].

The laryngeal /ʕ̞ʷ/ was a labio-pharyngeal approximant [ʕ̞ʷ]. It had the allophones [ɒ̯] in syllable coda and [ɒ] when syllabic.

The laryngeal rhotic /ʁ/ was highly subject to allophony, being realized as a trill/flap [ʀ~ʀ̆] in the syllable onset, vocalized to [ɐ̯] in the syllable coda, and realized as [ɐ] when syllabic.

Vowels
Proto-Elven had vowel harmony, meaning that a word ending with a front vowel would be conjugated by a postfix consisting of exclusively front vowels, and the same rule going for words ending with back vowels - postfixes consisting of back vowels.

The only exceptions to this rule are the non-syllabic glides /ɪ̯ ʏ̯ ʊ̯/, which remain unchanged and unaffected by vowel harmony. This is convenient, considering that unlike /i y u/, /ɨ/ does not have a non-syllabic variant.

The mid vowels /e ø ə o/ are truly mid - neither [ɛ œ ɜ ɔ] nor [e ø ɘ o], but between the two: [e̞ ø̞ ə o̘].

/a/ may be more accurately described as [ɑ], or even [ɒ] between labial consonants and rounded vowels.

Grammar
Proto-Elven was a flexible subject-object-verb and agglunative language with vowel harmony. Most root words within the vocabulary had one basic meaning associated with them, which could be altered if the word was used as a verb, noun or adjective.

For example, the Proto-Elven root-word sepph could be modified the following ways:
 * sepphöz/sepphä (masculine/feminine noun) - handsome man / beautiful woman
 * sepphöm (neutral noun) - beauty
 * sepphäni (adjective) - beautiful, handsome
 * sepphätn (adverb) - beautifully
 * sepphiri` (verb) - to make beautiful, to beautify

Nouns
The various cases had the following functions:
 * The nominative case usually marks the subject of the sentence.
 * The genitive case marks ownership. For example, "älböŕn piëmänöz" means "(the) male elf's manliness".
 * The dative case usualy marks indirect objects, similar to the use of English "to" and "for"
 * the accusative case usually marks direct objects, ones that are being directly targeted.
 * The locative case is used in conjunction with various suffixes, in itself it either has no meaning at all, or is equivalent to the English "in".

Verbs

 * The infinitive is marked by -ïrï / -iri, just like Present Simple.
 * Adding an extra -r at the end turns the verb perfect. An example:
 * "sepphiri" means "to make someone/something beautiful". It is in Present Simple.
 * "sepphińö" is the same verb, but in Future Simple instead. For example, "you will make her beautiful".
 * "sepphińör" is the same verb, but in Future Perfect instead. For example, "you will have made her beautiful".

The present simple also has a secondary role - being used for ordering. For example, in Proto-Elven, there is no distinction between stating that someone is doing something and ordering someone to do something. The difference between stating facts and ordering/commanding is indicated by context and tone of voice.

Past-simple verbs can be also converted to nouns and adjectives by adding the proper conjugation. For example, the proto-Elven word for annointing was "träd", whose past tense was "trädiri", which could become "trädiriätn" (annointed) or "trädiriöz" (the annointed one).

Adjectives
Adjectives have three forms in Proto-Elven:
 * Normal adjective: -ani / -äni
 * Comparitive adjective: -anëri / -äneri
 * Superlative adjective: -anońi / -änöńi

Adverbs
Adverbs have three forms in Proto-Elven:
 * Normal adverb: -atn / -ätn
 * Comparitive adverb: -artn / -ärtn
 * Superlative adverb: -ańg / -äńg

Inclusive or vs Exclusive or
Proto-Elven - and by extension, all of its descendant languages - distinguish between the "inclusive or" and the "exclusive or". The earlier means, "either A, B, or both of them", while the latter means "either A or B, but not both of them - never both of them".
 * The word for the inclusive or is
 * The word for the exclusive or is

Numerical system
Proto-Elven used two numerical systems: octal and hexadecimal. Octal is much older, evidenced by the fact that numbers between 9-16 are named as "greater" variants of the numbers between 1 and 8. Despite being an illiterate people, the Proto-Elves knew about zero... or rather, had a concept of "nothingness" as a number.

Numbers larger than 16 would be formed by chaining up multiple numbers and adding a postfix. Numbers larger than 16 and smaller than 256 are divided into two numbers that are smaller or equal to 16. Numbers larger than 256 but smaller than 65536 are divided into two numbers that are both smaller than or equal to 256. Similiar segmentation goes on with numbers larger than 65536 but smaller than 4294967296, or numbers larger than 4294967296.

In addition to the hexadecimal system, an octal system coexisted with it, forgoing the usage of numbers larger than 8, and forbidding going over 256.

Numbers from 0 to 16

 * 0: mör
 * 1: ań
 * 2: phaŕń
 * 3: ńwën
 * 4: ňai
 * 5: chai
 * 6: zoi
 * 7: ńoi
 * 8: štep
 * 9: rou`ań (greater 1)
 * 10: rouphaŕń (greater 2)
 * 11: rouńwën (greater 3)
 * 12: rouňai (greater 4)
 * 13: rouchai (greater 5)
 * 14: rouzoi (greater 6)
 * 15: rouńoi (greater 7)
 * 16: rouštep (greater 8)

Numerical postfixes

 * octal up: -op / -öp
 * Used to separate the segments of octal numbers. For example, "ańop ań" - "1 up 1" - is the octal number 0o11, equivalent to the decimal 9. It is important to know that unlike in hexadecimal numbers, skipping segments is not allowed in octal numbers, so the octal 0o101 (equivalent to decimal 65) would be "ańop möröp ań".
 * hexadecimal up: -ap / -äp
 * Used to separate the upper and lower segments of a hexadecimal number larger than 16 but smaller than 256. For example, "ańap ań" - "1 up 1" - is the hexadecimal number 0x11, equivalent to the decimal 17. Logic and consistency would suggest that 16 (or 0x10) be said as "ańap" - "1 up", but it is actually said as "rouštep" - 16. The reason for that is that the concept of zero was discovered by the Proto-Elves roughly at the same time as they transitioned from octal to hexadecimal, and the use of the number carried over.
 * double: -ïp / -ip
 * Used to separate the upper and lower segments of a hexadecimal number larger than 256 but smaller than 65536 - both segments being numbers smaller than or equal to 256. For example, "ańap ańïp ańap ań" - "1 up 1 double 1 up 1" - is the hexadecimal number 0x1111, equivalent to the decimal 4369. Both segments are 0x11, and the usage of the word "double" combines them into one number: 0x1111.
 * quad: -kwot / -kwöt
 * Used to separate the upper and lower segments of a hexadecimal number larger than 65536 but smaller than 4294967296 - both segments being smaller than or equal to 65536. For example, "ańap ańïp ańap ańkwot ańap ańïp ańap ań" - "1 up 1 double 1 up 1 quad 1 up 1 double 1 up 1" - is the hexadecimal number 0x11111111, equivalent to the decimal 286331153.
 * octa: -ëit / -eit
 * Used to combine the upper and lower segments of a hexadecimal number larger than 4294967296 but smaller than the second power of 4294967296. Used similarly to quad and double, with both segments being smaller than 4294967296.
 * negative: -nïl / -nil
 * Used to postfix a negative number. For example, '"ańap ań" - "1 up 1" - is the equivalent to the decimal 17, while '"ańap ańnïl" - "1 up 1 negative" - is the equivalent to the decimal -17.
 * Ordinator: -ïz / -iz
 * Turns a cardinal number into an ordinal number. For example, "ań" means "one", while "ańïz" means "first".
 * Radix point: thwir
 * Literally means "full", it separates the integral part of a number from the fractional part. For example, "ań thwir rouštep" means 0x1.F, equivalent to the decimal 1.9375.

Legacy
Work under progress