Ailang: A Comprehensive Description

Ailang (pronounced as /ailəŋ/ or /æɪaɪləŋ/) is a minimal constructed language created by 4nf95q643hf8wy4987fqn. It follows a strict predicate-to-argument word order, and its lexicon is a closed set of dozen four words.


/number — definition — classical form — toki pona gloss/

0 — x1 perceives x2 — te — lukin

1 — x1 causes/creates x2 — ta — tan

2 — x1 is me — tae — mi

3 — x1 is not the case/does not exist — tea — ala

4 — x1 is possible/is possibly the case — ke — ken

5 — Particle introducing a dependent clause¹ — ka — ki

6 — x1 is a moment in time, space or other dimension — kae — tenpo

7 — x1 is all of x2 — kea — ale

8 — x1 is used by x2 — le — ilo

9 — x1 differs from/is not similar to x2 — la — ante

a — x1 is a part of x2 — lae — leko

b — x1 is knowledge/information — lea — sona

c — x1 is something/a thing (general) — þe — ijo

d — 0 (binary bit) — þa — lenke²

e — 1 (binary bit) — þae — wan

f — x1 is good — þea — pona

¹The particle 'ki' has some other uses, explained below.

²lenke is not a widely used toki pona word, as usually its meaning is covered by ala. However, the latter is already used to gloss another Ailang lexeme, so lenke is used here.

A note about word meanings

As in every minilang, the denotations of words are necessarily broad. There being no way to represent number, certainty or time solely through grammar, every one of these has to be explicitly stated, whenever possible and needed for a communication task. Note that the translations provided in the examples on this page have unavoidable additional shades of meaning, and are not 100% identical with the Ailang sentences they translate.


A basic Ailang sentence consists of a content word (any word except 5, d and e) acting as a predicate, followed by content words acting as its arguments. The table above lists the predicate forms of content words; a word defined as "x1 does something (to x2)" would mean "that which does something" when used as an argument.

tan ilo sona
Tools create information.

Note that any predicate has to have all of its arguments filled. You can use c as a filler argument, since it does not imply anything about the object it is used to describe.

Dependent clauses

The particle 5 immediately after a content word introduces a dependent clause. There are two types of them in Ailang. Content clauses state that the object referred to by the head content word is the fact of the clause's predicate being fulfilled; relative clauses state that the head content word fills one of the argument slots of the clause's predicate (or the slot of the predicate itself). If and only if a dependent clause contains a repeat appearance of its head noun, it is a relative clause.

leko mi tenpo ki lukin mi tenpo
I am a part of the time/place that I perceive.


Object indices are the main type of indices used, and consist of some binary bits (d and e) after a content word. They allow you to refer to two distinct objects using the same lexeme. For example,

leko sona ki sona tenpo ijo ki leko ijo tenpo
Information, for which a particular moment is that information, is a part of the one that is a part of that moment.
leko sona ki sona tenpo lenke ijo ki leko ijo tenpo wan
Information, for which a particular moment is that information, is a part of the one that is a part of another moment.

Using the same lexeme both indexed and unindexed in one sentence/topic is not advised, except in cases when the only usage of the unindexed one is in predicates. Unindexed lexemes in predicates also generally do not get identified with other identical unindexed lexemes.

Topic indices appear at the end of a sentence, necessarily after a 5. Whenever a topic index is the same between two sentences, any matching object indices between them would have the same function as a matching object index within a sentence; this way you can refer to a particular object or concept across sentences. Note that sentences that don't have a topic index are completely self-contained in terms of object indices.

Names and raw data

You can surround a string of d's and e's with two 5's on each side and place it between two sentences, after the first's topic index if it's present, and after an additional 5 if it isn't, to cause it to be parsed as raw binary data. Ailang doesn't come with a default way for such raw data to be interpreted.

To put a name to an object or concept, which is just a binary string associated with it, you can place a raw data block following a content word and its associated index, instead of between sentences. Names have the same function as object indices do, except the fact that they're global and aren't separated by topic. Additionally, you can use an object index in conjunction with a name, and only the object index will be required to be repeated in order to refer to the object two or more times within the sentence.

ken ijo lenke ki ala ijo wan ki lukin lukin ki leko lukin tenpo lenke ki tan tenpo wan [name] ki leko mi tenpo wan tenpo lenke pona ki leko pona tenpo wan
It is possible that the consciousnesses that will be a part of the moment that is caused by moment 1100010001000011111100011001111, which (the latter) I am a part of, will not perceive the good that is a part of that latter moment.

Writing systems

The main one used on this page thus far has been to represent every word with its number in hexadecimal. This method is relatively common, and recommended for human readers. Other bases of the form 2^(2^n) can also be used to write Ailang text with relatively little trouble; in bases smaller than hexadecimal it's good practice to separate groups of multiple digits representing one word with spaces.

It is possible to use classical form, representing the words the way they are canonically pronounced, where þ is a dental fricative. (Additionally, other sets of recommended pronunciations include reading out the digits in any language your correspondent understands.)

If you are not limited by linear text, as when working with image files, you can use Fracture script, which is a logographic writing system originally developed for Ailang and dependent solely on the ability to produce roughly equal line segments at angles that are multiples of τ/8 radians.

Symbol chart

Example usage of Fracture script

Note that while you may write the symbols intending for them to be read in any order, you should communicate the order to your correspondent. For example, the text in the image above is written along upside-down pseudo-Hilbert curves of descending order, chained together.