Skip to main content
34

First Steps in Lojban

Lesson 34. Tanru brackets: bo, ke … ke'e, and co

Koshon
Koshon

Long time no see! Sevan asked me to guest-lecture on tanru grouping.

Sevan
Sevan

Koshon knows this better than I do. Also, Sora listens to Koshon.

Sora
Sora

I do not… okay maybe a little.

Koshon
Koshon

Recall from Lesson 6: tanru group left to right by default.

blabi mlatu zdani = ((blabi mlatu) zdani)

That means "a white-cat house" — the house is cat-like (white-cat-type house). Not "a white (cat-house)" (a house for white cats).

Sora
Sora

Right, and we got burned by that once. So how do we change the grouping?

Koshon
Koshon

Three tools: bo, ke/ke'e, and co.

bo — raise binding priority

Koshon
Koshon

bo placed between two selbri binds them tighter than the default. Think of it as the multiplication sign in arithmetic: 2 + 3 × 4 evaluates differently from (2 + 3) × 4, and bo is the × sign.

bo
Makes the two selbri on either side bind before anything else.

blabi mlatu bo zdani = blabi (mlatu bo zdani) = blabi (mlatu-zdani) A white cat-house. — the house is white; it's a cat-house kind of thing.

blabi bo mlatu zdani = (blabi bo mlatu) zdani = (blabi-mlatu) zdani A white-cat house. — same as the default, emphasized.

Sora
Sora

Oh! So blabi mlatu bo zdani finally puts the house in charge of being white, not the cat.

Koshon
Koshon

Exactly. bo is the quick way to say "glue these two together first."

ke … ke'e — explicit parentheses

Koshon
Koshon

If bo is the × sign, ke … ke'e are actual parentheses. Everything between them is treated as one unit before any surrounding selbri are considered.

ke
Open grouping bracket for tanru.
ke'e
Close grouping bracket (terminator for ke).

blabi ke mlatu zdani ke'e = blabi ( mlatu zdani ) A white cat-house. (Same meaning as the bo example above.)

Sora
Sora

When would I use ke instead of bo?

Koshon
Koshon

When grouping more than two pieces. Watch:

xekri ke melbi kerfa ke'e ke cinla birka ke'e bo ninmu = xekri (melbi kerfa) (cinla birka) bo ninmu A woman with black beautiful-hair and slender arms. Structure: ((xekri (melbi kerfa)) ((cinla birka) ninmu))

kerfa
x1 is the hair/fur of body x2 at location x3
cinla
x1 is thin/slender in dimension x2, by standard x3
birka
x1 is an arm of body x2
Sora
Sora

So ke'e is the right terminator for ke. Not ku or anything else.

Koshon
Koshon

Right. And ke'e is often optional in practice — if it's at the very end of the tanru before a sumti, the parser can figure it out. But when you're nesting multiple brackets, explicit ke'e is much safer.

co — flip the modification direction

Koshon
Koshon

co is the trickiest of the three. It does two things together:

  1. Makes everything to its left the modifier (lower priority).
  2. Makes everything to its right the head (the modified selbri).

In other words: co reverses the usual left-modifies-right pattern.

co
Inverts tanru modification direction; what follows co is the head.

zdani co blabia white house (zdani is now the thing being described; blabi is the modifier) bunre mlatu co nimre jisra nelcian orange-juice-liking brown cat

nimre
x1 is a citrus/mandarin of species x2
jisra
x1 is juice/liquid from x2
Sora
Sora

Why would you ever want to reverse the direction? That sounds confusing.

Koshon
Koshon

It becomes useful when you want to attach a long modifier phrase (one that includes be/bei sumti slots) to a simpler head. Without co, that gets unwieldy:

Without co (verbose): tu klama be la .latcmatcad. bei le cmana ke ladru nelci ke blabi mlatu

With co (clean): tu ladru nelci ke blabi mlatu co klama be la .latcmatcad. bei le cmana That thing is a milk-loving white-cat that goes from the mountain to Latcmatcad.

Sora
Sora

Oh — co lets you keep the main concept (klama — "goes") on the right where it's easy to read, and pile the modifiers to the left of co. The arguments after co then belong to klama, not to the stuff on the left.

Koshon
Koshon

That's the third feature of co: the sumti following co's right-side selbri fill that selbri's places, not the overall tanru's. It's a convenience for readable tanru with embedded sumti.

Tanru poetry challenge

Koshon
Koshon

Now for something fun. Write a short poem using only selbri — no sumti, no tags. Just predicates strung together with .i between them. You can use bo, ke, and co to shape your tanru. The brevity forces you to let the predicates carry everything.

Sevan
Sevan

Koshon calls this tanru pemci — predicate poetry.

pemci
x1 is a poem with property x2, by author x3, for audience x4
Koshon
Koshon

Here's an example:

.i xendo solri bo gusni canci
.i nicte manku klama
.i cladu cliva
.i smaji

(loose translation: The gentle sunlight fades. Night-darkness comes. Loudness departs. Silence.)

xendo
x1 is kind/gentle to x2
solri
x1 is the sun/star of planet x2
gusni
x1 is light illuminating x2 from source x3
canci
x1 disappears from x2 (place/view)
cladu
x1 is loud/noisy to observer x2, by standard x3
smaji
x1 is quiet/silent to observer x2, by standard x3
Sora
Sora

No nouns, no pronouns, no time words — just pure predicates. And it works. Because Lojban predicates already contain the "is" and "does" without needing extra words.

Koshon
Koshon

Tense is optional. Number is optional. Subject is optional. Tanru is ambiguous by design. All of that ambiguity becomes atmosphere in poetry.

Sora
Sora

Okay I'll try one:

.i barda mlatu
.i cmalu mlatu
.i mutce melbi
.i gleki munje

(Big cat. Small cat. Very beautiful. Happy world.)

Koshon
Koshon

I love it.

Sevan
Sevan

…I also love it, but I'm not going to say so.

True or false

Pick whether each statement is true or false according to the lesson.

  1. In blabi mlatu bo zdani, it is the _house_ that is blabi (white), not the cat.

  2. The ke'e in broda ke brode brodi ke'e brodo can always be safely omitted.

  3. In a tanru containing co, the selbri to the _right_ of co is the head (the modified concept).

  4. In A B bo ke C D ke E F co G H, the full grouping is ((G H) (A (B (C D (E F))))).