15 comments

[ 4.6 ms ] story [ 43.8 ms ] thread
So, as a complete noob with stuff like Forth and other concatenative stuff, can someone explain why they'd use it, and how something like Avelon would be cool?

I've read a bit about being able to avoid generating garbage, but I have to admit a bit of ignorance to what that actually means.

The github page seems to be calling it Awelon not Avelon
Yep, sorry for the typo... It's impossible to edit by now though :/
The build-up-from-little-pieces style of Forth meets the terseness of the APL family in this functional, programming language. That's my impression. I don't use any of those, though. I recognize author from Lambda the Ultimate. I emailed him to see if he wants to tell us more about this.
Could someone please inform me...under what domain does such abstract esoteric language make programming either easier or more efficient?
Once you understand the documentation, other language's documentation becomes easier to understand.
Concatenative languages are really not esoteric. I mean assembly language is a concatenative language, and it really ought not to qualify as esoteric.
> assembly language is a concatenative language

Are most? I've always considered them more procedural than anything else. Variables and gotos.

Concatenative just means that concatenating two programs yields a new program and that is the major method of program construction. Most Forth dialects also support variables, gotos and procedures; but it's all in a concatenative way.
Is that so? According to: https://en.m.wikipedia.org/wiki/Concatenative_programming_la... there's a little more to it.

I suppose if you squint a bit, any push-jump-ret-pop sequence is concatenative - but I'm not sure if I agree that the main way to go from a few general assembly language programs that each read from a file, count words, and sums integers - to a program that counts words in a file is to simply concatenate them?

Assembly is pretty esoteric these days... I mean, most every platform no matter how resource constrained has at least a C compiler, and must of 'em probably have a Python interpreter.