Fri Jan 2 18:27:23 EST 2015
A new language
Doing the tasks needs some compiler support that's hard to do in
straight up Forth, even if it's DTC. Let's reuse just the DTC
language primitives and compile this to call-threaded code.
Should the language be Scheme-like or Forth-like?
If functions take arguments it's probably best to keep it Scheme like.
Sending a message is just copying stuff into a buffer. Arity needs to
be encoded also. So it needs type tagging.
Is it possible to statically encode all message tags to also include
their arity? Probably yes. This means the main task to solve is to
perform packing / unpacking of messages and function calls.
So is a function call just a message?
This is one of the conceptial "flaws" of erlang it seems: to both have
function calls and message passing. Or let's call it an optimization
maybe.. Still in love :)
So: how to parse a message.
One thing though: I'm not going to survive the desire for having more
that flat messages. Eventually, this will need a GCd heap.
So let's get the bag of abstractions right first. Keep it simple.