Zecena
Zecena /ˈzexena/ is a constructed language I created. Its primary features are a stack-based grammar (akin to a programming language like Forth) and an orthography consisting entirely of Latin letters lacking any ascenders or descenders, resulting in every character having uniform height. This is far from the first time I have experimented with either of these two concepts. In fact, the name isn't even entirely new: "Zecena" is derived from "Zeetchian", the name of a very simple cipherlang I made around 2019 which followed the latter orthographic restriction, and a name which was for some strange reason derived from the word "cheese" spoken backwards.
The aformentioned lack of ascenders or descenders results in a rather small and somewhat bizzare (but surprisingly symmetric) phonology of 8 consonants and 4 vowels. The consonants consist of mostly fricatives and nasals, but no plosives whatsoever! One fun aspect of such a phonology is that I can loosely derive words from languages that are familiar to me (mostly English, admittedly...) while having them generally not be too obvious or recognizable.
I cannot guarantee that I do a good job at explaining this language and its stack-based nature in this document. However, if you already have some prior experience with similar conlangs, you might be able to instinctively understand much of how this language works.
Also, the language is very incomplete and barely has any words. Do not try to use it for anything substantial yet, or you will pay.
Phonology and Orthography
One of the key principles of Zecena is that all of its letters lack any ascenders or descenders: that is, every symbol has a uniform height, and no part of any symbol goes below the baseline (as the letters [gjpqy] do) or above the mean line (as the letters [bdfhijklt] do). Thus, the language uses only 12 letters, from which a phonology of 8 consonants and 4 vowels is derived:
Letter | Sound |
---|---|
m | /m/ |
n | /n/ |
v | /v/ |
s | /s/ |
z | /z/ |
c | /x/ |
x | /ɣ/ |
r | /ɾ/ |
a | /a/ |
e | /e/ |
o | /o/ |
u | /u/ |
You may have noticed that there is one letter that is excluded but which certainly fits the criteria: the letter 'w'. I was originally going to include it, but I decided that I didn't enjoy it aesthetically, and due to /w/ being a semivowel it tends to cause all sorts of problems that would require complicating the phonotactics to fix (for instance, 'uwa' sounds almost identical to 'ua').
Zecena is always written using only lower-case letters, to satisfy the uniform letter height rule.
Stress always falls on the first syllable in a word.
Phonotactics
There may be a maximum of 2 consecutive consonants (a "consonant cluster") in a word. All consonant clusters must be followed by a vowel. For consonant clusters at the beginning of a word: only the following are valid:
-m | -n | -v | -r | |
---|---|---|---|---|
v- | vm | vn | vr | |
s- | sm | sn | sv | sr |
z- | zm | zn | zv | zr |
c- | cm | cn | cv | cr |
x- | xm | xn | xv | xr |
For all consonant clusters in between vowels, the following rules apply:
- The cluster may not consist of the same consonant twice
- The cluster may not consist of two nasals (ie. 'nm', 'mn')
- The cluster may not consist of two consonants differing only in voicing (ie. 'sz', 'zs', 'cx', 'xc')
There may be a maximum of two consecutive vowels in a word. Two of the same vowel may not appear consecutively.
Grammar
Zecena's grammar is stack-based. I won't attempt to explain what a "stack" is (I presume much of the people reading this will already be very familiar with this), but if you don't already know, go read about stacks and RPN and stuff or watch some videos about it or something. It's neat stuff.
A sentence is a sequence of words separated by spaces and may be punctuated by a period. Other punctuation such as exclaimation and question marks are generally not used, as they violate the "no ascenders or descenders" rule. A sentence should result in a single value being pushed to the stack; the meaning of the sentence is that whatever this value refers to exists/happens/is true.
All words in Zecena have a certain number of arguments which they take, known as its arity. This is equivalent to the number of values that are popped off the stack when that word is used. A word's arity is indicated by a vowel suffix:
Vowel | Arity |
---|---|
-a | 0 |
-e | 1 |
-o | 2 |
Each arity can be roughly equated to familiar parts of speech:
- 0-ary words (ending in -a) are equivalent to nouns.
- 1-ary words (ending in -e) are equivalent to modifiers (adjectives, adverbs, articles, determiners...) and intransitive verbs.
- 2-ary words (ending in -o) and equivalent to transitive verbs and prepositions.
Words with 'u' directly before the arity suffix are reserved for words formed via special systematic means, such as numbers and colors.
Each word in the Zecena dictionary is defined with a specific arity, known as its root arity.
All words will push exactly one value onto the stack upon usage. If a word's definition explicitly states what it "pushes", then that is what the word pushes. Otherwise, the word pushes a default value according to the following:
When a 0-ary word is used, it simply pushes itself onto the stack. When a 1-ary or 2-ary word is used, it pops the corresponding number of words off the stack and uses them as arguments. These arguments are labeled as "x1" and "x2", in order from left to right (from the earlest to the latest pushed onto the stack). Then, a new word is pushed onto the stack representing the state, quality, action, or process of the resulting predicate.
xana
person-0
person
vene
good-1
x1 is good
moco
eat-2
x1 eats x2
ma srume.
me-0 sleep-1
I sleep.
ma ranza secro.
me-0 land-0 see-2
I see land.
ra vasra moco vene.
you-0 water-0 consume-2 good-1
You drinking water is good. / It is good that you drink water. / The fact that you drink water is good.
ma snenza sveco zecena maeso.
me-0 sentence-0 speak-2 zecena-0 use-2
I speak sentences using Zecena. (I am speaking sentences, and that speaking is using Zecena)
Suffixes
There are a few suffixes which may be placed on words to alter their meaning in specific ways.
Normally when a 1-ary or 2-ary word is used, it pushes a value which refers to the state, quality, action, or process of the resulting predicate. However, it is possible to make the word refer to one of the predicate's arguments instead.
-n causes a word to refer to its x1 argument. -s causes a word to refer to its x2 argument.
xana ranza secro
person-0 land-0 see-2
A person seeing land
xana ranza secron
person-0 land-0 see-2-x1
A person who sees land
xana ranza secros
person-0 land-0 see-2-x2
Land which a person sees
The roles of the x1 and x2 arguments of a predicate may be swapped with the -r suffix:
meusca xana caeror.
music-0 person-0 hear-2-swap.
Music is being heard by a person.
If both the -r suffix and one of -n or -s must be used on the same word, they combine to form the -run and -rus suffixes.
ma meusca xana caerorun cono.
me-0 music-0 person-0 hear-2-swap-x1 know-2.
I know the music which is being heard by a person.
Arity Casting
As previously mentioned, each word in Zecena has a specific root arity. A word may be cast from its root arity into another arity.
When a word is cast into an arity which is less that its root arity, it is just like removing arguments from the predicate and leaving them unspecified. A 2-ary word cast into a 1-ary word has its x2 argument removed:
ma moce.
me-0 eat-1.
I eat. (what is being eaten is unspecified)
If you wish to remove the x1 argument instead, you can use the -r suffix:
maca mocer.
food-0 eat-1-swap.
Food is eaten. (who/what is eating the food is unspecified)
A word cast into a 0-ary word has all arguments removed:
moca
eat-0
Eating (the word has now become a noun referring to the act of eating in general)
Note that the -n and -s suffixes can still be used on words which have been cast to lower arities:
mocan
eat-0-x1
Something which eats
ra secres
you-0 see-1-x2
Something which you see
When a word is cast into an arity which is greater than its root arity, the predicate has extra arguments added to it. The meaning of these new arguments is determined in a consistent way. A 0-ary word cast into a 1-ary word means "x1 is [original word]":
ma xane.
me-0 person-1.
I am a person.
A 1-ary word cast into a 2-ary word means "x2 causes x1 to [original word]". This argument order may seem backwards from what you might expect. This is for self-consistency: casting a 2-ary word into a 1-ary word removes its x2 argument, so "veno" (x2 causes x1 to be good) becomes "vene" (x1 is good) which means exactly what it did before.
resca ma veno.
liquid-0 me-0 good-2.
I cause the liquid to be good.
ra ma xano.
you-0 me-0 person-2.
I cause you to be a person. / You are a person because of me.
Numbers
Words expressing numerical values are formed in a systematic way. All words for numbers are 0-ary words representing the quantity itself. (The word 'cuvo' may be used to specifiy the quantity of another word.)
Numbers are expressed in base 10 as a sequence of digits, from most significant to least significant. Number words consist of the syllables below, and are suffixed with -nua.
Syllable | Value |
---|---|
zu | 0 |
mo | 1 |
ni | 2 |
ca | 3 |
ro | 4 |
xe | 5 |
se | 6 |
za | 7 |
vo | 8 |
na | 9 |
zanua
seven-number-0
Seven
moninua
one-two-number-0
Twelve
ma voza cavozunua cuvon secro.
me-0 object-0 three-eight-zero-number-0 have_quantity-2-x1 see-2.
I see 380 objects. / I see objects which have a quantity of 380.
Note that numbers such as larger powers of ten, which can be unwieldy to express otherwise, can be expressed using Zecena's mathematical operator words:
ma voza mozunua nanua vauro cuvon secro.
me-0 object-0 one-zero-number-0 nine-number-0 exponentiate-2 have_quantity-2-x1 see-2.
I see one billion objects. / I see 10⁹ objects.
dictionary
- ano: pushes x1 and x2; both
- aro: pushes x1 or x2; either
- arxave: x1 is artificial; synthetic; man-made
- avso: x1 is after x2
- axo: pushes x1 xor x2; exactly one but not both
- cavo: x1 possesses x2; have; own
- cavra: x1 is up; upwards
- cearo: x1 hears x2
- cenxo: x1 changes x2; alter
- cenze: x1 is any; no particular instance
- cevna: tool
- comva: computer
- cono: x1 knows x2
- core: x1 is all; every
- cosno: x1 continues x2; x1 keeps doing x2
- cuse: x1 should be the case
- cuvo: x1 has the quantity x2; x1 is x2 in quantity
- ecseve: x1 is excessive; too much
- eno: x1 is in/inside of x2
- enserna: internet
- evo: x1 is the case if x2 is the case
- evre: x1 is possible
- ma: I/me; the speaker/writer
- maca: food
- macena: machine; device
- maeso: x1 uses x2
- masro: pushes x1 plus x2; x1 + x2
- meco: x1 causes x2; make; create
- meusca: music; song
- mevo: x1 is before x2
- moco: x1 eats x2; consume; drink
- moro: x1 is more than x2; x1 has a greater extent than x2
- morxe: x1 is dead
- mose: x1 has the greatest extent; most
- mosvo: pushes x1 multiplied by x2; x1 * x2
- muce: x1 is to a great extent; very; much
- ne: x1 is not; negates x1
- necse: x1 is next; following
- necure: x1 is natural
- nema: name; title; label
- nemxo: x1 has the name x2; x1 is called x2
- nere: x1 is this/that
- neso: x1 needs x2; require; must
- nore: x1 is alone; only
- nuve: x1 is new; young; recent
- ra: you; the listener/reader
- racre: x1 is probably the case; likely
- raeco: x1 likes x2; enjoys
- raene: x1 is beautiful
- raesa: light
- raesve: x1 is right; on the right; to the right; rightwards
- ranxa: language
- ranza: land, ground
- reaco: x1 responds to x2; reply; react
- resca: liquid; fluid
- resvo: x1 receives x2; get
- reuso: x1 reads x2
- revse: x1 is left; on the left; to the left; leftwards
- roca: position; location; place
- ronxe: x1 is long
- saero: x1 tries to do x2; attempt
- seamo: x1 seems like x2
- secro: x1 sees x2
- semro: x1 is similar to x2; x1 is like x2
- sena: thing
- senso: x1 feels x2; sense
- senva: time; a duration of time
- sesma: system
- sesre: image; picture
- smero: x1 smells x2
- snenza: sentence
- so: x1 is (an instance of) x2
- sorxa: solid (state of matter)
- srevo: x1 writes x2
- sroso: x1 starts x2; begin
- srume: x1 sleeps
- sucve: x1 is sufficient; enough
- suvo: x1 is towards x2
- suvro: pushes x1 minus x2; x1 - x2
- sveco: x1 says x2; speak; talk; tell
- svorso: x1 helps x2; assist; support
- uce: x1 is imperative; the speaker is demanding/requesting that x1 be the case
- vace: x1 is which/what; the speaker is asking about the identity of x1
- vacre: x1 is backwards; towards the back
- vaezo: pushes x1 divided by x2; x1 / x2
- vanso: x1 wants x2
- varme: x1 is hot; warm
- vasra: water
- vauro: pushes x1 to the power of x2; x1 ^ x2
- vece: x1 is bad; harmful
- vene: x1 is good
- vere: x1 is true
- verone: x1 is tall
- vo: x1 pertains to x2; of
- vocso: x1 is near x2; with; close to
- vorca: word
- vorve: x1 is forwards; towards the front
- voza: object; physical entity
- vraese: x1 is bright
- vruxze: x1 is ugly
- vueno: x1 is between x2
- vurse: x1 is hypothetical; conditional; x1 would be the case
- xaersa: gas (state of matter)
- xana: person
- xevo: x1 gives x2; donate
- xonsa: x1 is on (the surface) x2; x1 is on top of x2
- xovo: x1 goes to x2
- xrese: x1 greets x2; say hello to
- xura: group; collection
- xusmo: x1 tastes x2
- xuvare: x1 says goodbye to x2
- zase: the speaker is asking whether x1 is the case; forms yes/no questions
- zaeve: x1 is alive; living
- zaune: x1 is down; downwards
- zecena: Zecena; this language
- zecvo: x1 is equal to x2; x1 is the same as x2
- zerca: direction; orientation
- zevro: x1 is different from x2
- zocma: document; page
- zuno: x1 does x2; x1 commits/performs the action of x2