Lingua abstrusa

From Esolang
Jump to navigation Jump to search
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.