If you are unfamiliar with concatenative, stack-based languages, I wrote an introductory blog post that might be a little easier to read[0]. I say that only because the chaining style here can feel a little dense.
My first thought was...wait that looks like Forth. And sure enough your post uses Forth. I hadn't heard the term "concatenative programming" before so I guess I learned something new :)
Forth is certainly one of the languages that has wooed me (or more precisely it has wooed me what cool ideas were built with it). Pretty much every CCC used to have some nifty hardware+Forth project on display (I remember crazy pendulums)
The Wikipedia site mentions that today, Forth is used in BootROMs - is that because no heap (=initialized DRAM) is required to run it, so the CPUs onboard memory can be used? I guess you need something for the very early stages, for when the peripherals are not yet available.
This looks interesting, I feel it has a lot of potential.
It will be useful with a standard library or a way to link easily to 'outside' functions without having to create (insert?) them in each cat that uses them.
Define modifies the prototype, so `cat define 'x' x` should apply to every cat (the docs have an example for making it a local property instead.) I think the larger barrier is that most libraries have functions with optional arguments so you would need to consider how to wrap each one.
But I really don't get the "for JavaScript" mentions. Without at least a pre-transpiled script to download and use as you would any JS, it is "for JavaScript" much like it is "for x86-64 assembly."
[+] [-] eatonphil|11 years ago|reply
[0] http://blog.eatonphil.com/2015/04/06/introduction-to-stack-b...
[+] [-] kriro|11 years ago|reply
Forth is certainly one of the languages that has wooed me (or more precisely it has wooed me what cool ideas were built with it). Pretty much every CCC used to have some nifty hardware+Forth project on display (I remember crazy pendulums)
[+] [-] MrBuddyCasino|11 years ago|reply
[+] [-] jkleiser|11 years ago|reply
[+] [-] agumonkey|11 years ago|reply
[+] [-] hvm|11 years ago|reply
It will be useful with a standard library or a way to link easily to 'outside' functions without having to create (insert?) them in each cat that uses them.
[+] [-] Menge|11 years ago|reply
But I really don't get the "for JavaScript" mentions. Without at least a pre-transpiled script to download and use as you would any JS, it is "for JavaScript" much like it is "for x86-64 assembly."
[+] [-] naturalethic|11 years ago|reply