daemonica

Logo

Web site describing the Lingua Daemonica conlang.

View the Project on GitHub seth-gordon/daemonica

Variables and bindings

Consider this question and this ungrammatical fragment:

  • Tatorhu šku fābur pu?
  • bear D2\what chase WH.Q
  • Who did the bear chase?
  • *Tatorhu šku fābur?
  • bear D2\what chase
  • A bear chased —?

The word šku puts a free variable on the stack, and the word pu binds it to create a wh-question. If there are unbound variables on the stack, as in the second example above, the sentence is not complete.

A variable can also be bound to a particular predicate.

  • Tatorhu šku fābur þi gū.
  • bear D2\what chase D2\1.EXCL bind
  • A bear chased someone, who was me.

When a variable is placed on the stack, all copies of it refer to the same thing.

  • Šku tn tütærhe pir fi þe-be pir fābur pu?
  • what D2\DUP D3\bear D2\ABS D2\SWAP D3\1.EXCL-DU D2\ABS chase WH.Q
  • What do we have in common with the bear that chased us?

When there are multiple free variables and multiple binding words in the same utterance, the variables are bound in the reverse of the order in which they were declared. One can imagine the directory of unbound variables as forming a stack of its own, independent of what we have been calling “the stack.”1 However, there are no grammatical particles for copying or rearranging items on this other stack.

  • Šku ški fābur pu pu?
  • what D2\what chase Q Q
  • Who chased whom?
  • Šku tn bve pir fi þe-be pir fābur taterhi gū pu?
  • what D2\DUP D3\what D2\ABS D2\SWAP D3\1.EXCL-DU D2\ABS chase D2\bear bind WH.Q
  • What do we have in common with the one who chased us, namely, the bear?

Free-variable markers exist for all three valences. To make a variable for a quantity, put a numeric prefix in front of šku.

  • Tatorhu bvu si fābur pu?
  • bear how D2\2 chase WH.Q
  • What kind of bear chased you?
  • Tatorhu si ķgū pu?
  • bear D2\2 do.what Q
  • What did a bear do to you?
  • Tatorhu pa-žku si fābur pu?
  • bear D2\numeric.1-what D2\2 chase Q
  • How many bears chased you?
  • Tatorhu pa-žku þi fābur tr-habī gū
  • bear D2\numeric.1-what D2\1.EXCL chase D2\numeric.0-long bind
  • I was chased by some number of bears, a large number.

Note that the free variable pa-žku is unary, but the word used to bind it, tr-habū, is nullary. The absolutive argument of gū, the binding particle, must be a single predicate. Preceding with a unary or binary word may lead to unexpected results, if not outright bad grammar.

  • Tatorhu bvu þi fabūr þdiy gū.
  • bear how D2\1.EXCL chase black bind
  • A bear chased me; it was a black–(…-bear-chasing-me) bear.

In the above example, tatorhu bvi þi fabūr is an almost-complete sentence: “a — bear chased me.” Because þdiy is unary, it modifies the entire sentence: “the event of a — bear chasing me was black.” The final binds that sentence to the free variable within it: “the event of a (the event of a (the event of a (…)-type bear was black)-type bear was black)-type bear was black.”

The speaker of that sentence probably meant to say this:

  • Tatorhu bvu þi fabūr sba-ðdiy gū.
  • bear how D2\1.EXCL chase D2\NMLZ-black bind
  • The bear that chased me was black.

If word denoting a free variable has suffixes and/or semantics-changing prefixes, they are applied to give its meaning when the variable is bound. This also provides a way to apply grammatical operations that normally operate on a single word to an entire phrase.

  • Šku-žu si fabūr pu?
  • what-NEG D2\2 chase WH.Q
  • What didn’t chase you?
  • Šku-bur fāðir þu taterhi se fabīr gū.
  • what-MED D2\sadden 1.EXCL D2\bear D3\2 D2\chase bind
  • I was depressed by that event of a bear chasing you.
  • Sardður bvu ķū taterhi þe fabīr gū.
  • dirt how wet D2\bear D3\1.EXCL D2\chase bind
  • The dirt is wet; it is bear-chasing-me dirt.

(The last of these examples could be rephrased as sardður taterhi þe fabīr fi pur ķū.)

When a variable is bound, every instance of that variable in the stack is bound, not just instances that appear at the top of the stack. Because binding does not work like regular stack operations, binding words can even precede the variables they reference: this construction is marked, but grammatical.

  • Tatorhu pu si ķgū?
  • bear WH.Q D2\2 do.what
  • What the heck did a bear to do you?
  • Šku þi tütærhe gī fabūr.
  • what D2\1.EXCL D3\bear D2\bind chase
  • Something did to me—it was a bear, it chased me.
  • Šku ški ķgī ške tn psu per fe pse spü-dþuy gē pir tē gī fabūr.
  • what D2\what D2\WH.Q D3\how D4\COPY D4\PICK D3\ABS D3\SWAP D3\ROLL D4\NMLZ-young D3\bind D2\ABS D3\1.INCL D2\bind chase
  • Something (what was that thing?) fitting a certain description, that description being young, which also applies to us, chased us.

The last example above might best be explained word by word. In the translations below, X, Y, and Z are the free variables, and the slashes divide the items on the stack.

Šku
X
Šku ški
X / Y
Šku ški ķgi
X / What thing?
Šku ški ķgī ške
X / What thing? / Z
Šku ški ķgī ške tn
X / What thing? / Z / Z
Šku ški ķgī ške tn psu
X / Z / Z / What thing?
Šku ški ķgī ške tn psu per
X / Z / What Z-ish thing?
Šku ški ķgī ške tn psu per fe
X / What Z-ish thing? / Z
Šku ški ķgī ške tn psu per fe pse
What Z-ish thing? / Z / X
Šku ški ķgī ške tn psu per fe pse spü-dþuy
What Z-ish thing? / Z / X / youth
Šku ški ķgī ške tn psu per fe pse spü-dþuy gē
What young thing? / youth / X
Šku ški ķgī ške tn psu per fe pse spü-dþuy gē pir
What young thing? / young X
Šku ški ķgī ške tn psu per fe pse spü-dþuy gē pir tē
What young thing? / young X / us
Šku ški ķgī ške tn psu per fe pse spü-dþuy gē pir tē gī
What young thing? / we, who are young
Šku ški ķgī ške tn psu per fe pse spü-dþuy gē pir tē gī fabūr.
Some young thing (what?) chased us, who are young.

Note, in particular, the effect of the word in the highlighted line. It binds Z, the most-recently-created free variable, even though X was above Z in the stack, and it binds both instances of Z at once.

Perhaps, at this point, you would like another drink.

  1. Those who have learned the Forth programming language may recall its distinction between the “data stack” and the “return stack.”