Kat Mistberg / 霧山 Kat logo light

Goptjaam v2 documentation (English)



Goptjaam / 欱攙 (['χop.tɕaːm], lit. 'Han language') is a cursed conlang made by Kat Mistberg / 霧山 Kat for Agma Schwa's Cursed Conlang Circus 2 contest. The conlang includes cursed features such as:

Goptjaam case trees

This section describes the case tree of Goptjaam, which is the structure in which utterances are represented "under the hood" in the language. Given a case tree, this section also describes how to translate it into English (or any other language).

A Goptjaam case tree is a binary tree, where each node contains a concept number, which I sometimes also call index. The concept number conveys which concept is stored at the node, and is equivalently given by the (Goptjaam-compatible) Han character associated with the concept number (e.g. the character 我 has concept number 1736) (the correspondence is given in the file guangyun0704/syllables-goptjaam.csv: the concept number is the column 序號, and the character is the column Character).

The structure of the tree can equivalently and uniquely be represented using case numbers. The case number of a node uniquely determines the position of the node in the tree.

As the case tree is a binary tree, each node can have at most 2 child trees. These are called the left child and right child. Important: the left and right child are not interchangable; a node can have no children, a left child but no right child, a right child but no left child, or both a left and a right child.

Concept–tree notation

Lowercase letters, e.g. x, refer to nodes. Uppercase letters, e.g. A, B, refer to trees. These are variables; for a concrete node, we write the corresponding character for the node, e.g. 我 instead of x.

x(A,B) refers to a tree where x is the root node (the node at the top), A is the left child tree, and B is the right child tree.

So x(A,) refers to a tree where x is the root node, A is its left child tree, and it has no right child tree.

Similarly, x(,B) refers to a tree where x is the root node, B is its right child tree, and it has no left child tree.

The concept number 0 and corresponds to the character 〇 and is the "empty concept". In concept–tree notation, we do not write out 〇 explicitly. For example, x(,B) is the same as x(〇,B).

Concept–case format and concept–tree format

"Concept–case format" refers to the format where you have a list of (concept, case number) pairs. "Concept–tree format" refers to the graphical format where you have a binary tree, and

The correspondence between case numbers and the case tree can be defined recursively as follows. For every node, if the node has case \(n\), then its left child node will have case \(2n\), and its right child node will have case \(2n+1\). Also, the root node of the case tree of an entire utterance has case 1. Hence the case numbers of the tree of an entire utterance look like this:

    1
   / \
  2   3
 / \ / \
 4 5 6 7
 … … … …

The output of goptjaam.py is in concept–case format, so you probably want to convert it to a more graphical form (like the concept–tree notation above or actually drawing trees out on paper) so that it is easier to translate.

Case order

Instead of word order, in Goptjaam, we talk about case order. The overall idea is that if concept a is a child of concept b, e.g. b(a,), then a modifies b. For example, 魚 as a noun means 'fish' and 大 as an adjective means 'big', and the utterance 魚(大,) means 'big fish'.

Each node can only have 2 children, so what if you want to have more than 2 concepts modify some concept? If you want concepts a, b, and c to modify concept x, you can have one of these two trees: x(a,(b,c)) and x((a,b),c)

   x           x
  / \         / \
 a   〇      〇   c
    / \     / \
   b   c   a   b

In general, a node a is considered a modifier of node x if a is a descendant of x and all nodes (if any exist) between x and a are empty nodes 〇. For example, you can also have x(a,(b,(c,d)))

   x
  / \
 a   〇
    / \
   b   〇
      / \
     c   d

or x((a,b),(c,d))

    x
   / \
  〇  〇
 / \ / \
 a b c d

and a, b, c, d are all modifiers of x. As long as the order from left to right of the modifiers is the same, Goptjaam never makes a distinction in meaning based on the exact configuration/position the modifiers are placed in, e.g. both of these trees have the exact same meaning. Usually, however, the configuration that minimizes the Goptjaam utterance length is chosen.

Because only the order of the modifiers is relevant, we sometimes also use the simplified notation x{a,b,c,d} instead of x(a,(b,(c,d))) or x((a,b),(c,d)) to describe the trees above, for example.

Concepts

The parts of speech of Goptjaam are as follows:

Each concept can take on multiple parts of speech, so check the glossary for the different parts of speech and meanings of each concept. Tags, particles, and conjunctions are the function concepts of Goptjaam.

Verbs

The basic case order for verbs in Goptjaam is v(S,O), where v is the verb, S is the subject, and O is the object. For example, the utterance 食(我,魚) means 'I/we eat fish': 食 as a verb means 'to eat', 我 is the 1st person pronoun, and 魚 as a noun means 'fish'.

For more complex sentence, the general case order for verbs is v{a1,a2,…,an,o1,o2,…}, where a1 to an are the arguments of the verb, and o1, o2, etc. are tags, particles, adjectives, and other non-argument modifiers of the verb. In the glossary, the number of arguments a verb has is specified. Also, if an argument is clear from context, it may be dropped. If an argument is empty, then a non-argument modifier can fill its place instead. Examples:

TAM

Tense, aspect, and mood are optionally marked in Goptjaam. Goptjaam has a simple TAM system, made up of tags. See the 矣 and 將 tags in the Tags section below for more info.

Questions

Yes-no questions are marked by the 邪 tag (see Tags section). Wh-questions are marked by in-situ interrogative pronouns.

Pronouns

Goptjaam pronouns only reflect person and not number. The exception to this is the 3rd person pronouns: 之 is used only for the 3rd person direct object (e.g. 食(我,之) = 'I/we eat it'), 其 is used only for the 3rd person posessive (e.g. 食(其,) = 'Their/its food'). There are no 3rd person pronouns for other purposes (e.g. subject); you can leave the position blank (if it's clear from context) or use the noun you're refering to in the position.

The tag 等 is attached to a pronoun or noun to mean 'and others', where the 'others' do not need to belong to the same category as the noun itself (but often do). For example, 犬 means 'dog', and 犬(等,) can mean 'the dogs', but if the context is that there is a group of both cats and dogs, then it can mean 'the dogs and the cats'.

Nouns (pronouns especially) can modify nouns to indicate possession. E.g. 犬(我,) means 'my/our dog', where 犬 means 'dog'. In the 3rd person, it would be 犬(其,) 'their/its dog'.

Adjectives

Adjectives can modify nouns, adjectives, and verbs. Numerals are adjectives. Nothing much else to say, really.

Tags

Tags are function concepts that can only modify another concept, and can never have children. Because they are never nouns, verbs, and adjectives, if they modify a verb, they can occupy any slot, even a subject or object slot.

A list of tags in this text:

Particles

Particles are function concepts that join a tree T to a concept c to add extra information to said concept. Basically, they have the same use as adpositions and case markers in other languages. They can be used in one of two ways with the same meaning:

  1. The particle p modifies the concept c, and the tree T modifies the particle p, e.g. c(p(T,),).
  2. The tree T = t(A,B) modifies the concept c directly, while the particle p modifies the root t of the tree T, e.g. c(t{A,B,p},). In this usage, p cannot have children.

By checking if a particle has children, it is always clear which of these two ways the particle is used.

A list of particles used in this text:

Conjunctions

Conjunctions connect two child trees that can each serve as a complete utterance. It is possible to drop one of the trees.

A list of conjunctions used in this text (The left child tree is denoted by A, the right by B):