So I’m continuing to think about the syntax of bresenish, but in the back ground I’m reading a lot about programing languages. I’m thinking that there should be a way to speak a programming language. Except it would execute in your mind, not on a machine. And it wouldn’t be neurolinguistic programming, but hey, if it inspires someone to write a NLP sci-fi book with less handwaving, so much the better.
Originally I thought I could get by with just elements, sets and relations (i.e. operators) because a simple sentence looks like that “Jack and Jill ran up the hill”=”The set of the elements jack, jill is related to the set of the element hill, via the relationship of running up” But my first attempt to translate the tower of babel into gloss showed that I needed assignment and variables. I need something that works like a pronoun, but has set theoretic typing (the set, the element) and works like a pronoun (“The set of men working on building a tower, which I shall henceforth refer to as the A team”) And I needed to express distinctly equivalence & assignment. “There is a set of men who worked all night, we’ll call them the B team. The A team and the B team are the same.” So I assign that list of men to the B team. And then I declare that A and B are the same, i.e. I have two different ways to describe them. Another example: “There is a pretty girl. There is a young girl. There is a school girl. These elements are all the same element”
Bresenish would be imperative. So it would work like this:
Imagine a stage. Put on that stage these elements, jane, jack, a base ball bat. The bat moves repeatedly to jacks head. The bat is in the hands of jane.
Imagine a stage. Put on that stage these elements, jack, a cake. Imagine another stage with these elements: jack. The former stage became the later stage.
More on the consequences of variables. Variables work a bit like proper nouns and pronouns. They mean something specific, anyone can make one up, they can last a long time or a short time. Like pronouns, they refer to something else. Natural pronouns tend to be of a small number rely on a “type”, e.g. person, number, social rank, animacy. In a set inspired language, there would be a need for a lot of different variables and having too many “its” would be a pain. Having too many ad hoc words would be a pain too. Maybe if there were some conventional variable names, like the way programmers often use “foo” “bar” “baz” as common variables, or mathematicians with x, y, z.
Bresenish on a machine…
I don’t actually have the skills to write this, but having worked with programming languages I think I can imagine what is currently possible.
An executable Bresenish would start out with a fixed number of elements, relations, attributes (adjectives). And those would be the elements of possible discourse. You could create as many variables as you’d like, but all those variables would refer back to already defined elements. In human instructions, we elide the obvious. So in a machine oriented language, we’d probably be very verbose and need loops. Human oriented would probably use an attribute on a relation to indicate an action was repeated.
So something like
Imagine a stage. (Computer draws a stage). On the stage are these elements (list elements, draw those on state. If abstract, just list them on side bar). The elements are related this way (locative elements would be the easiest to illustrate, abstract ones would just be represented with arrows, i.e. A loves B). The elements, X, Y, Z are a set, call ‘em foo. They have the attribute of “red”. (Computer draws circle around X, Y, Z and paints them red).
And so on. I think with some effort, Harry Potter could be translated into such a thing and a computer could hypothetically draw the resulting movie.
So to re-cap:
Stage = A universe (that you hold in your mind) being described. This is what you are imperatively telling your listener to manipulate.
Elements = vocab, both concrete and abstract
Sets = Things that relate to each other, might only have 1 element
Relations = Roughly verbs. They relate sets.
Attributes = Roughly adverbs and adjectives, modifiers of relations and elements.
Variables = Temporary names for an element or set, either drawn from a conventional list or made up on the spot.
Assignment = Saying an unbound variables in bound to another one. An lo, so it is.
Equivalence = Declaring two things are referring to the same thing. A machine, which is keep track of all the elements and the relations defined so far, would merge the two views of a stage after hearing that they are equivalent. “Stage one- The man is running” “Stage two- The man is sweating” “Stage one == Stage two” (The listener merges these two views and now we have a sweating man, running on the stage)
And I think that is enough moving parts for a workable grammar. Now I just have to work out a morphology and my list of elements. Which I think will still be Icelandic sounding words.