Finished ·

Lojban is a terribly inefficient language

Cross-posted to Substack.

Lojban is a constructed language (‘conlang’) inspired by predicate logic. It is designed to eliminate as much ambiguity in language as possible. It has long been the butt of jokes, such as this XKCD 191:

XKCD 191. It’s me, I am the kind of person who learns Lojban.

In 2014-2015 I was a university student. I spent a lot of time on IRC (an old chat protocol, which Slack and Discord are both patterned after). I don’t exactly remember how I got it into my head that I should learn Lojban, but it was some combination of these factors:

  • I liked weird languages and codes. When I was 12 I tried to learn Quenya (Tolkien elvish conlang) using printouts from the Internet. I did not finish the whole course of lessons but I was able to construct and translate some sentences.

  • I had lots of free time, owing to having little in-person social life and my computer science degree not being very demanding.

  • I had just read the (not yet completed) fanfiction “HPMOR”, and also a whole bunch of the Lesswrong “Sequences”. I had decided that making safe AGI was a worthy quest and I would dedicate my career to it. From this, two things emerged:

    • I thought it would be necessary to communicate unambiguously with the AGI. Remember, the ontology at the time was that it would be akin to a genie which would exploit any loopholes in your communication of human values. Learning a language designed to remove ambiguity would be extremely useful for this.

    • I believed that language influences cognition (the Sapir-Whorf hypothesis), which I still think is true. I hoped that thinking in Lojban would make me a very logical and analytic person, and therefore more likely to be correct.

I was, in short, an impressionable young man with free time, a strong desire to be different from others, and not much of an in-person social life.

Armed with online lessons, a Lojban-speaking community inside IRC (#lojban on freenode.net) and Memrise spaced repetition, I got enough of a grasp of Lojban to join a Lojban-only Skype call and talk to fellow jbopre. I bought Djemynai’s Lojban rap album ZA’O. I read almost all of “lo selfri be la .alis. bei bu’u le selmacygu’e” (“Alice in Wonderland”, translated). I started “la nicte cadzu” (“night walker”, an original Lojban story) but couldn’t stomach it, it’s pretty bad.

In the end, I realized that Lojban is just a bad language, and stopped. Training some char-RNNs and realizing the AGI would speak English might also have something to do with it, but I think it was mostly the fact that Lojban is a terrible language.

The official Flag of Lojban.

Lojban is a terrible language because it is not optimized for actual usage

Lojban’s ergonomics are bad. Unlike natural languages, it hasn’t been shaped by extensive use. Thus, things that need to be short because they’re said frequently end up being pretty long, whereas things that could be longer because of infrequent use are short. It doesn’t behave like an optimal code.

In terms of information per syllable, Lojban is much less dense than the least-dense major languages (Spanish and Japanese). Human languages appear to encode a similar rate of information per second (though see problems with methodology), which means Lojban must be spoken very fast. I’m a native Spanish speaker, so a fast syllable rate doesn’t daunt me, but to speak Lojban at a natural speed you need to spit out syllables at a truly astonishing speed.

So, to maintain the optimal human language information per rate, you need to speak annoyingly fast.

Example of unoptimized Lojban:

Let’s take the chorus of NONSEKA (“alone”), the fifth track of ZA’O. You can listen to it on Bandcamp, the chorus starts at about 1:14. I chose it because I quite like the song, the spoken chorus stuck with me, I recite it sometimes. It’s a beautiful cry for human connection.

Lojban lyrics

To read this it might be helpful to know that: “c” is read like English “sh”, the single quote ‘ is read like english “h”, and the “x” is read like in “Don Quixote”.

Text within this block will maintain its original spacing when published

i do klama lo drudi be lo dinju [11 syllables] i do krixa lu [5 syllables] i do’o ma zvati [6 syllables] i ko pendo mi [5 syllables] i mi nonseka [5 syllables] i mi nitcu lo ka pendo ce fa da [11 syllables] li’u i ku’i no da do tirna [10 syllables] i no da tirna do [6 syllables]

TOTAL: 59 syllables

English lyrics

In English this translates as:

Text within this block will maintain its original spacing when published

You go to the roof of the building [9 syllables] You yell: “ [2 syllables] Where is everyone? [5 syllables] Be my friend. [3 syllables] I am alone. [4 syllables] I need someone to be a friend. [8 syllables] “ But nobody hears you [6 syllables] Nobody hears you [5 syllables]

TOTAL: 42 syllables

(yes, the open-quotation and close quotation are spoken “lu” and “li’u”, I’ve put them in the right place)

Spanish lyrics:

The same exercise in Spanish:

Text within this block will maintain its original spacing when published

Vas al tejado del edificio [10 syllables] Gritas: “ [2 syllables] Dónde está todo el mundo? [7 syllables] Sed mi amigo. [4 syllables] Estoy sólo. [4 syllables] Necesito alguien que sea mi amigo [12 syllables] “ Pero nadie te oye [7 syllables] Nadie te oye [5 syllables]

TOTAL: 51 syllables

Analysis and summary:

The total number of syllables are:

Lojban: 59
English: 42
Spanish: 51

As expected, Spanish is considerably less dense than English, and Lojban is less dense still.

According to Claude Opus 4.7, a Chinese translation is 43 syllables.

I did not cherry-pick this example. I summoned it from my own memory. In fact, if you buy ZA’O and look at the lyrics text file, you will see that it has a typo: it says “li’u i ku’i no da tirna” instead of “li’u i ku’i no da do tirna”. I corrected this typo for this blog because I remembered the correct lyrics and something was off.

Why is this?

In my opinion this comes from the aim of removing syntactic ambiguity in Lojban. In short: to make the grammar easy to parse by a non-machine-learning computer program (c.f. context-free grammar), Lojban adds a lot of words (many ku words, see next section) to demarcate noun phrases, which are usually unnecessary in natural languages.

Other causes are the fact that Lojban insists in speaking punctuation (each sentence starts with .i, and quotes are lu “[quoted sentence]” li’u), and the fact that each verb/root word (“gismu”) must have 5 letters and be of form CCVCV or CVCCV. The latter is a problem because of two reasons: common-used verbs cannot be any shorter, and also one has to economize words and cannot repeat the same concept from different directions too much.

Logical predicates (Selbri)

What is a “concept from a different direction”? The core part of a sentence in Lojban is the selbri, a logical predicate or verb which orients the whole sentence around it. For example, “to translate” is fanva. The dictionary definition of fanva is:

x1 translates text/utterance x2 to language x3 from language x4 with translation result x5.

An example sentence would be:

.i mi fanva la .kixotes. ku lo glico ku lo spano ku ti

which puts puts 4 noun phrases around fanva:

  • mi: meaning I

  • la .kixotes. ku: El Quijote, the novel by Cervantes. Lojbanized names need to end in consonant and the article la applies to them.

  • lo glico ku: English. the word lo turns the predicate glico (which is equivalent to the verb “to be English”) into a noun. To terminate the noun phrase we must add ku, the noun phrase terminator.

  • lo spano ku: Spanish. Same structure, spano is the verb “to be spanish (language)”.

  • ti: meaning the determinate pronoun “this”. I wanted to finish the sentence.

Which translates to “I translate Quijote into English from Spanish, here is my translation.”

If I just want to say “this is a translation”, I have to still use fanva and just use its 5th spot: .i fanva fu ti. (fu is a word that lets us skip to the 5th spot in the predicate, one can use fa fe fi fo fu[1])

ku, that damnable noun phrase terminator

The phrase above neatly exemplifies the main problem with Lojban inefficiency: you have to add ku everywhere to terminate noun phrases and avoid recursing.

The noun phrases above go:

lo glico ku lo spano ku ti → (lo glico ku) (lo spano ku) (ti)

which translates as “english spanish this”

If I had written the above without ku we’d get

lo glico lo spano → (lo glico (lo spano (ti)))

which given the definitions of glico[or spano]:

x1 is English[or Spanish]/pertains to English[or Spanish]-speaking culture in aspect x2.

would translate as “the english, in a way which is Spanish, in a way which is this”. Clearly a tortured sentence that nobody would say. But to keep simple computer programs happy, we must terminate everything with useless ku s.

Conclusion

Lojban is a beautiful experiment, but has wound up being a bad language because of ergonomics. It also doesn’t really come with much of a culture that you gain access to (which in my opinion is a very cool feature of languages). Attempts to create a Lojban culture are very cool but difficult to pull off with so few humans speaking it. AIs can help with that (and many other new invented languages besides), though AIs at present are much better at data-rich languages than at Lojban.

I set out to argue that Lojban is inefficient in syllables and I have given an example of it. I could end the blog post here, but I will enjoy explaining a few cool features of Lojban.

Cool features of Lojban

Spoken emoji (attitudinals)

With the advent of text-based messaging most people like to send little pictures of faces that show our emotions, be it emoji 😊 or old school emoticons :-). It would be cool to be able to inject them into spoken sentences, for dictation or to indicate your emotion on the phone or to emphasize it.

Lojban lets you do that! It has a set of short words to express emotions, their negations, or their neutrality. For example, “.ie” (“yeah”) is agreement, “.ie nai” is disagreement. “.e’u” is a suggestion and “.e’u nai” is a warning. See the full table.

Evidentials

Some of these attitudinals are dedicated to marking evidence: how did the speaker come to know a particular sentence? Here is a link to the complete table, and some examples:

  • za’a: I observe

  • ti’e: I hear (hearsay)

  • ka’u: I know by cultural means

Isn’t this great? If only we could concisely indicate how we came to know all of our sentences, debates of fact would be so much easier!

Digits are one syllable, and numbers are just digit strings

This is also true of Chinese. Each digit in Lojban “pa re ci vo mu xa ze bi so no” is “1 2 3 4 5 6 7 8 9 0” (after all these years I only forgot number 9), and numbers are constructed by joining their names (e.g. 784 is “zebivo”). To avoid saying a bunch of zeros (“nononononononono”) you can add thousand commas using “ki’o” (similar to kilo).


  1. I smell the blood of an Englishman,
    Be he alive, or be he dead
    I’ll have his bones to grind my bread.

    ↩︎