non-linear langs!

is anyone making/learning a non-linear conlang? post about them here!
(just to start off, i'll recommend unlws to anyone who's interested)

3 Likes

oh i love UNLWS! i have personal beef with one of the creators but the language itself is pretty cool and some images i created are on the official documentation

tenpo kama weka la mi wile sona e leko pona

Non-linear usually means graphical 2D. I've recently been thinking (in vague terms) about how language would work if it was based on pure hierarchy with no order. So you might have paragraphs that contain sentences, sentences that contain phrases, and phrases that contain words, but the order of words in a single phrase / phrases in a sentence / sentences in a paragraph would not change the meaning. If such a language still had a spoken form, you could say everything in reverse without changing the meaning.

1 Like

o'eaiaa orders all levels of information (paragraphs, sentences, words) based on relevance, that may be similar to what you're talking about?

2 Likes

Ooooh, that sounds awesome. Do you have a link? Can't seem to find information on it online.

3 Likes

It sounds like a spoken (unordered, the graph theory idea more than the computer science idea) tree? To be honest I think a tree might even be a little too restrictive, you might want to reuse words or phrases. So how about a DAG? That is pretty much the closest thing you can get to "pure hierachy" considering the close relationship between DAGs and partial orders. For an example reduced almost to absurdity but which I find somewhat intriguing, if your language consisted of speaking your syntax tree/graph by saying all the words, all the internal nodes, and which ones have edges between them, then you could have completely free word order, maybe first saying some edges, then an internal node, then a couple of leaves/words, and so on.

1 Like

Hmmm, I think we might be talking about the exact same thing. Because in my idea of a tree-lang you'd be able to have multiple nodes with the same content and reuse words/phrases that way; you wouldn't need a DAG for that. Or did you have something else in mind?

A graph-based language sounds intriguing in its own right, for being able to track referents easily.
(2D languages already do this kind of thing but limited by the constraints of Euclidean space, which can be both a good and a bad thing imo.)

And yeah, I've definitely had that free word order thought too. What probably makes this impractical in spoken form is that you'd need to come up with IDs for every node, which depending on how the language works might have to be globally unique (otherwise you might be accidentally adding to something you or another speaker has said -- since word order is absolutely free there should be no dividing line between utterances, right?). Which is itself kind of insane to think about, because you'd be able to retroactively change statements in the past. I guess, if each node/edge is marked by who said it at which point in time, vandalism could be detected at least lmao.

1 Like

That is what I had in mind, yeah. I don't think I understand how you would do that without effectively creating a DAG, at least not without repeating yourself. Like, sure you can turn a DAG into a tree by duplicating the nodes, but why would you? In a situation like (forgive my graphviz syntax, I am too lazy to draw ascii art)

A -> B
A -> C
C -> D
B -> D
D -> E
D -> F
E -> G
F -> G

and so on, the number of tree nodes would be exponential in the number of DAG nodes.

That's an intriguing idea!

Oh yeah that is quite mindbending. If you see it as a problem, you could maybe solve it by requiring edges to form a topological order, where there exists some idea of "earlier" (not necessarily based on word order!) such that each node can only have edges to "earlier" nodes. Here's a neat algorithm for computing a topological order "online", edge for edge as you receive them. I think if you combine that with words for things like "beginning of noun phrase" and "end of noun phrase" you may be able to stop people from interfering with your utterances, but I am not 100% sure that this could be guaranteed :thinking:

1 Like

the number of tree nodes would be exponential in the number of DAG nodes

Well but it evens out since the probability of reusing a sub-tree exactly decays exponentially in relation to its height.

In my original tree idea, edges aren't necessary to refer to something (which is probably the obvious way to do it in a graph language?). The edges just capture syntax. So reusing nodes by copying them is analogous to repeating a word/phrase/sentence in its entirety in a natural language. A way to reference other nodes would need to be constructed on top of that. But having a tree would make that a lot simpler, since you could use relative paths.

[Conversation c1]

A: [Utterance ua1] [Sentence s1] I saw a cat = c today. [Sentence s2] ../s1/c was just sitting in the parking lot alone meowing at me.

B: [Utterance ub1] [Sentence s1] ../../ua1/s2 is concerning. [Sentence s2] Do you think ../../ua1/s1/c = c is a stray? [Sentence s3] Shall we search for ../s2/c's owner?

C: [Utterance uc1] [Sentence s1] In response to ../../ub1, ../../ua1/s2 is not unusual behavior for a cat. [Sentence s2] Actually, I saw a cat = d at the mall this morning. [Sentence s3] Do you think ../s2/d and ../../ua1/s1/c are one and the same? [Sentence s4] ../s2/d had black fur.

Another non-linear 2D language is Pinuyo:

crossposting trine