Oyráq has a tame phonological system:
- /p pʰ pʼ t tʰ tʼ k kʰ kʼ qʰ/ <p ph b t th d k kh g q>
- /s sʰ sʼ χ/ <s sh z ẖ>
- /m n ŋ/ <m n ŋ>
- /β r l ʟ j ɣ/ <v r l ḻ y w>
- /i ɯ u e ɛ ɛ̃ o ɔ ɔ̃ æ a ɑ̃/ <i ı u ê e in/ên/en# ô o ın/un/ôn# â a ân/an/on#>
A minimal stress accent system also exists. Stress is predictable on the antepenultimate syllable, but may occur on the ultimate — where it is marked with an acute. The high vowels <i u ı> and mid <ê ô> cannot be stressed in the ultima. Nasal vowels are distinctive only word-finally, and (as is intuitive from above) several sequences coalesce into the same nasal vowel. Vowel length can occur as a phonetic feature, but isn't strictly phonemic — long vowels syllabify into two nuclei.
Oyráq syllables are fairly simple: the language allows both onsets (one consonant) and codas (one or two consonants). All words have a phonetic onset, and vowel-initial words are closed by an epenthetic glottal [ʔ~h] if the previous word doesn't end with a coda. Internally, vowel-vowel sequences typically coalesce into a phonetic long vowel or diphthong. Triple-length vowels are not allowed, and when the context requires an epenthetic [h] <h> is inserted to break the hiatus up. Nasal vowels are obligatorily word-final and they cannot take codas. Word-final codas are almost always monoconsonantal.
Oyráq has a very shallow and rough stack oriented morphosyntax. The basic morphological structures are the morpheme and operator, and its syntax works only in terms of structures. Due to its very sequential and stacked nature, Oyráq explicitly forbids all types of cataphora.
The mental overhead and pragmatic roadmap all Oyráq speakers must constantly keep in mind and reference is called the Stack. The Stack holds all information currently available to be referenced by the speaker, and is manipulated using operators: each operator may take or pop information from the stack (an arbitrary integer of structures), and push typically exactly one structure as a result.
Only special terminator operators may pop structures but push nothing back, and only special discourse operators may take information externally popped from another Stack and push it onto the speaker's own Stack.
The Stack may be populated by multiple individual operators, but the only valid Stack element is the structure: once even a single operator pushes itself onto the Stack, it becomes a structure.
The Stack has an attached topic Register, to which only the topic operators may write, but which may be referenced at any point by any conversation participants. The Register is thus a discourse-level cache. Topic operatos push information onto this single-element Register, and do not push sturctures onto the Stack (except as intermediary storage). The Register, thus, also has push/pop mechanics. The depth of the Stack is theoretically infinite, but constrained by memory capacity of the speakers, whereas the Register is single-width: pushing information into an already full Register overwrites extant structures.
An Oyráq operator is conceptually most similar to the idea of a 'word', especially in omnipredicative languages. All operators (the aforementioned exceptions aside) work by pushing and popping information to and from the Stack. All operators are made up of morphemes that contribute to their syntactic and semantic payloads.
Operators can be classified by how many structures they push and pop to and from the stack; they can unintuitively be denoted using bra-ket notation. The bra references how many arguments the operator pops and takes, and the ket shows how many structures it pushes. The bra is an unbounded signed integer, and the ket is typically one or zero. Each operator and operator type should be cited with its corresponding braket, in the form of ⟨m|n⟩ — where m is the bra and n is the ket. This is wholly unrelated to quantum physics and is used due to its aesthetic simplicity and general inconvenience.
The simplest operators are noun operators, general form ⟨0|1⟩, that serve much like generic content and proper nouns. Noun morphology marks only derivations and number, and is exclusively suffixing. A noun operator may be either a bare root, or a suffixed root. The root is the primary carrier of semantic information, and derivational suffixes only modify this information payload in strictly predetermined ways. Number marking is applied to the end of a suffix chain, and a number-marked noun may again get derivational suffixes — in this way, number is also a derivational form. Furthermore, derivation of noun operators may be analysed as a naive stack system — each suffix takes (pops) the operator to which it attaches and gives (pushes) a new, derived operator (essentially, a stem to which other morphemes may attach).
The simplest noun operators are proper nouns — they typically take no derivation, and can be pushed as-is. The only derivational suffix typical of proper nouns is -as, which converts operators of other classes to a proper noun that shouldn't be deeply interpreted — all derived stems converted to proper nouns are treated as roots. Examples of proper nouns:
- siyáŋ — John, Sean
- oyraqas — the Oyráq language (the word oyráq is merely equivalent to "that which the Oyra speak natively", and may refer to practically any language)
Proper nouns aren't typically capitalised — but may be out of human convenience. Capitalisation otherwise serves no actual purpose in Oyráq.
Any other suffix, when applied to a proper noun, converts it into another type of operator.
Content nouns are more complex noun operators, as they take multiple suffixes. All content nouns are unmarked for number by default — nouns can be implied collectives or mass nouns (typical for most), or implied singulars when unmarked. Explicit number markers exist for the singular, dual, paucal and plural:
The number marker can also serve as an implicit proper-to-content noun derivation suffix: all proper nouns taking a number marking are semantically and pragmatically treated as content nouns:
- siyáŋ John > siyaŋıt many things that are called John (not several Johns!)
There are very few topic operators in Oyráq, and they have the form ⟨1|1(R)⟩ (pops one to the Register). These operators remove a structure from the stack (pop it), but do not return any info to it.