Firth
Firth copied to clipboard
Firth is a functional, strongly dynamically-typed, concatenative stack-oriented programming language.
Currently they're limited to 32-bit since that's all JS supports. They're supposed to be bigints.
We currently have `dup`, `drop` and `swap`. Probably need some more.
These are hard to do and I'd prefer not to have special syntax for them (though something like `[Int Int] list. [Int] list. fntype.` is a bit cumbersome?). They'll probably...
Will Firth support the including of other files? How will packages (for example, a database package) be imported? I think this is something to be thought about.
Currently we just have the naïve interpreter. However, it should do some optimisation passes and eventually have the option to produce code (in C or JavaScript).
Strings
They're in the spec as the literal, but lack any functions to manipulate them, and they're not actually implemented in the interpreter.
See: https://github.com/TazeTSchnitzel/Firth/pull/21#issuecomment-86788673
We don't have any! That's not good. There should be some for the interpreter (probably written in JS) to test the implementation's components, and some for the specification (probably written...