Forth

A forum for all topics related to constructed languages
Post Reply
User avatar
mira
greek
greek
Posts: 759
Joined: 14 May 2016 11:59
Location: Switzerland
Contact:

Forth

Post by mira »

So Khemehekis claims I'm a "prolific engelanger", and while I'm not quite so convinced I'm "prolific", engelangs are absolutely my thing, so I thought I'd try and deliver on that. After toying with some more "usual" ideas to get back into conlanging, I want to see how far this concept goes.

Forth

:wikip: Forth is a concatenative stack-based programming language that has had a variety of implementations and variants in the 50 years it has existed. The basic idea is that a program is broken up into "words". For the most part, each "word" is either a value or an operation. Forth is built on postfix notation, so where you'd normally write 1 + 2 with an infix operator, in a Forth it would be 1 2 +. Those more technically minded might enjoy trying to figure out how this program displays the first 10 factorial numbers:

Code: Select all

: FAC ( n -- n! ) DUP 1 <= IF 1 ELSE DUP 1 - FAC * THEN ;
1 11 DO I FAC . LOOP
At it's most abstract, when you provide a value, that value is placed onto the top of a "stack". You can put (theoretically) as many things as you like onto the stack, like stacking plates on top of each other. Operations then act on the values in the stack. For instance, the + operator takes the top 2 values off the stack, adds them together, then puts the result onto the stack.

Conlanging

How does this relate to conlanging? Replace "word" with "morpheme", "value" with "lexeme" or "noun", and "operation" with "particle", and now it probably sounds stupid, but it sounds more like conlanging so it must be progress /s. The hypothetical engelang that would result from the application of these mechanics would lead to a system where lexemes are pushed onto the stack, then grammatical particles modify and combine the items on the stack to produce complex meaning. This would be a highly isolating language, and I imagine if any diachronics were to be applied to it, it would result in a tremendous amount of compounding.

At first, I am going to present the language as a "re-grammaring" of English combined with various glossing abbreviations among other things to represent operators. Here is a first concept:

1SG good V food S
1SG like=_ food _
"I like food"

Here, 1SG, good, and food are "values" in that they represent lexical information. V is an operation that reads a noun from the top of the stack and replaces it with a "verbified" form (in this case arbitrarily converting "good" to "like"). Finally, S is an operation that reads in 2 nouns and a verb from the stack and combines them into a sentence (arbitrarily in SVO order).

Later on once I have some slightly more concrete grammar rules, I can start creating a few words and really start to bring it to life - if it's possible to bring something so cold and rule-driven as a Forth to life (opinions welcome).

Notation

A common convention in Forth is to describe operations in terms of the state of the stack before and after the operation occurs. An example is the ( n -- n! ) comment in the factorial example further up. I will use a similar notation to describe operations in a conlang environment. Text to the left of the "--" represents the stack prior to the operation, and text to the right represents the stack afterwards. With that in mind, here is how I would notate the V and S operations:

V ( n -- v )
S ( n v n -- SVO )



It's now 11pm here so I'm going to sleep on the idea. I imagine it could play very well with relatively free word ordering as all it would really require is adding nom/acc (other morphosyntactic alignments are available) case operations ( n -- n.<case> ) and then providing multiple definitions of S for each arrangement of items on the stack (having multiple "versions" of the same operation like this is called "overloading" in programming). Theoretically though, the "grammar" here should mostly be a matter of defining operations for the things I want or need the language to do - the main challenge being in figuring out exactly what type of thing these operators require and produce.
website | music | she/her | :gbr: native :deu: beginner
Salmoneus
MVP
MVP
Posts: 3033
Joined: 19 Sep 2011 19:37

Re: Forth

Post by Salmoneus »

You are aware, presumably, of Fith?
User avatar
mira
greek
greek
Posts: 759
Joined: 14 May 2016 11:59
Location: Switzerland
Contact:

Re: Forth

Post by mira »

Salmoneus wrote: 21 Feb 2020 03:22 You are aware, presumably, of Fith?
... well that just killed all my excitement. I'm not that surprised it had already been done though. On the other hand, it can't've been too bad an idea if it has already been explored.

That said, I think I'll continue with it and see what differences emerge between this one and Fith. Loads of conlangs likely collide in similar ways either accidentally or deliberately, but that doesn't make them any better or worse. Given how concrete this grammatical idea is though, I wouldn't be surprised if I end up with an inadvertent relex at first and have it only start to diverge as I start making more obscure words and operations.
website | music | she/her | :gbr: native :deu: beginner
User avatar
WeepingElf
greek
greek
Posts: 531
Joined: 23 Feb 2016 18:42
Location: Braunschweig, Germany
Contact:

Re: Forth

Post by WeepingElf »

Don't let yourself be deterred by the existence of Fith! Just because there already is a stack-based conlang, doesn't mean you can't make a different stack-based conlang. I know a guy who is working on a Romance language of Britain, despite the fact that there's already Brithenig. The point is that he is taking a completely different (and IMHO more plausible) approach to it.
... brought to you by the Weeping Elf
My conlang pages
Salmoneus
MVP
MVP
Posts: 3033
Joined: 19 Sep 2011 19:37

Re: Forth

Post by Salmoneus »

Do you mean BART, or are you thinking of a different one?
User avatar
WeepingElf
greek
greek
Posts: 531
Joined: 23 Feb 2016 18:42
Location: Braunschweig, Germany
Contact:

Re: Forth

Post by WeepingElf »

Salmoneus wrote: 21 Feb 2020 18:00 Do you mean BART, or are you thinking of a different one?
I mean just that one.
... brought to you by the Weeping Elf
My conlang pages
Khemehekis
mongolian
mongolian
Posts: 3885
Joined: 14 Aug 2010 09:36
Location: California über alles

Re: Forth

Post by Khemehekis »

OTʜᴇB wrote: 21 Feb 2020 00:10 So Khemehekis claims I'm a "prolific engelanger", and while I'm not quite so convinced I'm "prolific", engelangs are absolutely my thing, so I thought I'd try and deliver on that. After toying with some more "usual" ideas to get back into conlanging, I want to see how far this concept goes.
Since being "one of the most prolific engelangers" is a graded-on-a-curve concept, you probably are. Engelangers are usually loyalists, working on one engelang. Andrew Nowicki has made two: Ebubo and Ygyde. Jeffrey Henning, as a circumnavigator, has probably worked on more than one (but yeah, his Fith came instantly to mind as soon as I saw the title of this thread). You've worked on quite a number of engelangs, though.

And I agree with WeepingElf that there's room for more than one stacking-syntax conlang. Just as there's room for more than one musical set at a high school.
♂♥♂♀

Squirrels chase koi . . . chase squirrels

My Kankonian-English dictionary: 87,413 words and counting

31,416: The number of the conlanging beast!
User avatar
WeepingElf
greek
greek
Posts: 531
Joined: 23 Feb 2016 18:42
Location: Braunschweig, Germany
Contact:

Re: Forth

Post by WeepingElf »

Khemehekis wrote: 24 Feb 2020 06:24
OTʜᴇB wrote: 21 Feb 2020 00:10 So Khemehekis claims I'm a "prolific engelanger", and while I'm not quite so convinced I'm "prolific", engelangs are absolutely my thing, so I thought I'd try and deliver on that. After toying with some more "usual" ideas to get back into conlanging, I want to see how far this concept goes.
Since being "one of the most prolific engelangers" is a graded-on-a-curve concept, you probably are. Engelangers are usually loyalists, working on one engelang. Andrew Nowicki has made two: Ebubo and Ygyde. Jeffrey Henning, as a circumnavigator, has probably worked on more than one (but yeah, his Fith came instantly to mind as soon as I saw the title of this thread). You've worked on quite a number of engelangs, though.

And I agree with WeepingElf that there's room for more than one stacking-syntax conlang. Just as there's room for more than one musical set at a high school.
Jeffrey Henning has sketched at least one other engelang: Ilish, a language lacking nouns, instead using a large set of deictics which can be modified by adjectives. The language is "spoken" by a sapient fish species of the same planet Fith is set on, and consists of electric pulses (think of electric eels).
... brought to you by the Weeping Elf
My conlang pages
Khemehekis
mongolian
mongolian
Posts: 3885
Joined: 14 Aug 2010 09:36
Location: California über alles

Re: Forth

Post by Khemehekis »

WeepingElf wrote: 27 Feb 2020 21:32 Jeffrey Henning has sketched at least one other engelang: Ilish, a language lacking nouns, instead using a large set of deictics which can be modified by adjectives. The language is "spoken" by a sapient fish species of the same planet Fith is set on, and consists of electric pulses (think of electric eels).
Oh yeah, I remember Ilish! For some reason it seems less engelangy than Fith, though, and just exolangy.

In fact, the use of adjective+pronoun instead of nouns in Ilish was the inspiration for my own nounless language, Hapoish, spoken by the Reds on the planet Hapoi:

Gi e neqi juu bê due tê ba e no u ma.
that REL be_like_a_snake as_of_its_state_or_incarnation_at_that_time be_long more/most than that REL be_like_an_arm of 1s
That snake was longer than my arm.

As you can see, Hapoish uses a pronoun plus a relative clause with a nounoid verb.
♂♥♂♀

Squirrels chase koi . . . chase squirrels

My Kankonian-English dictionary: 87,413 words and counting

31,416: The number of the conlanging beast!
User avatar
mira
greek
greek
Posts: 759
Joined: 14 May 2016 11:59
Location: Switzerland
Contact:

Re: Forth

Post by mira »

Ok, let's add some more to this.

I'm going to give it active morphosyntactic alignment. You have an "agent" and a "patient" which with transitive verbs looks much the same as NOM/ACC. With intransitive verbs, which is used depends on volition e.g. "eat" and "walk" will use AG where "trip" and "fall" would use PA (unless the person intentionally fell). This will be conveyed through the SVO word order where the agent is the subject and the patient is the object.

I will also introduce serial verb construction because - like active alignment - I discovered it out of chance and thought it was a really cool idea [:D].

While I will eventually create particles that would collapse the stack into a complete clause, I will say that if the speaker finishes when the stack has more than 1 item, it is implicitly collapsed into a clause.

One thing I don't really want to do is use stack manipulation particles like dup, swap, rot etc. This is primarily because all it really does is obfuscate sentences. That said, stack pointers could be something I use. Example:

Steve hit PST @0 .
Steve hit PST Steve
Steve hit himself.

Here, @0 is a pointer to the 0th item on the stack at the very bottom, in this case Steve. These pointers in effect replace the use of pronouns in a lot of places bar initial use. The challenge then is with making these pointers easy to follow through text lest they just become obfuscations. Could possibly design these as identifiers pointing to things since mentioned, but then we're getting very close to just using plain pronouns. Not so sure here yet.
website | music | she/her | :gbr: native :deu: beginner
Post Reply