-
Notifications
You must be signed in to change notification settings - Fork 2
FORTH
Dmitry Ponyatov edited this page Apr 26, 2019
·
1 revision
I choose metaL as some sort of object FORTH-like language as it can be easily implemented in a few days from scratch. It is not classical FORTH, as I target on more high-level model operates on objects. The Factor language has a feel of this. But I implement my own stack Virtual Machine written in Python. I want to mix FORTH simplicity with SmallTalk message passing over live object system (and maybe Erlang distributed actor model).
Forth (programming language)
- extra compact primitive language without grammar in fact
- have no syntax parser: you need only primitive lexer to implement the whole of language very easy to rewrite from scratch
- concatenative programming via shared data stack
- unbeatable as a command shell interface with programming ability for tiny embedded systems starting from few Kb of RAM
- can be good as DDL/DML/OML (object manipulation language) in language-less programming systems
But I can point to a few problems of classical FORTH just right now:
- there is no memory protection totally, in pair with direct pointer-based manipulation on a data stack mixed with other data elements
- no dynamic memory allocation (no free/GC, just get some memory from top of vocabulary and that's all)
- flat memory model with data bitbanging in memory and data stack cross all the application source code old and wizened STD'83: no floating point
- no RFC-like optional proposals for widely used tasks like GUI, databases, sockets,...
To avoid these problems the metaL language was designed.