Lingua abstrusa
- This article needs a complete sort-out. It is also unfinished.
lingua abstrusa is an esoteric programming language based on the Latin language.
Language Features
The language is made up by definitions of objects called viri. A single one of these objects is called a vir. Each vir has, at most, one patronum, and many clientes. These are defined as follows:
Augustus cliens Claudii est
Which is equivalent too:
Claudius patronus Augusti est
Note that all virorum names must begin with a capital letter, must be second declension masculine with an -us ending in the nominative, and must be unique.
Each vir has an occupation, which defines their role in the program.
Occupation | Declension | Purpose |
---|---|---|
agricola | 1st | Creates cibos |
artifex | 3rd | Creates artes |
mercator | 3rd | Moves cibos and artes around, at a cost |
scriba | 1st | Writes things down for later recall |
sacerdos | 3rd | Controls I/O |
Each viri occupation is defined with various parameters, for instance:
Claudius agricola est Claudius cibos CXVII facit die
Which means, Claudius is a farmer who grows 117 units of food a day.
Agricolae and artifeces sell all their available wares to every merchant that visits them. Every unit must buy 10 cibos a day, otherwise they die, and as such are unusable for the remainder of the program's execution. They must buy 1 artem every 28 days, otherwise they cannot do their job, and are as such useless until they get the required number of artes (if they go another 28 days, they need 2 artes, etc.) or die. They can only buy from merchants, and cannot use objects that have not came from merchants (i.e., that they have made themselves). The exception to this rule is sacerdotes, who do not need to eat or use tools, and have no need for money.
Items can be donated to sacerdotes by agricolis, artificibus, and mercatoribus. For each sacerdotem (ordered alphabetically), at the end of each day the number of cibi he has recieved is outputted (if 0, nothing is outputted), followed by the character with an ASCII value of the number of artes he has recieved (if none, nothing is outputted). Donation uses the word donit and takes precedence over trading. Scribae record things, such as how many cibi have been bought by a mercator in the past week, or how many sestertios an agricola has spent. They then publish this after a set amount of time. This publishment, called liber [nomen scribae]], can be used in place of any number. Numeric input is defined as sacerdos omen vidit. Similarly, character input is defined as sacerdos bonum accepit. If scriba does not notit this, the input is discarded.