This lets us share strings more easily. It needs to be Arc (as opposed
to Rc) because these are stored inside of UserFun objects, which need to
be Send (for some reason).
Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
Previously, the stack would look like this when calling a function:
TOP
| arg2 |
| arg1 |
| function |
BOTTOM
This order is now reversed, with the function coming first and then the
args:
TOP
| function |
| arg2 |
| arg1 |
BOTTOM
This is a little more friendly to the stack-based machine. It is
slightly less intuitive as far as order of operations goes, but having a
function's arguments depend on the state of the function itself is a
little suspect and easy to work around if you truly need that.
Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
* Parser, compiler, objects, and VM base implementations
* Stuff will print out, functions called, etc
* There are probably plenty of bugs but this is a good starting point to
start committing changes into git
Signed-off-by: Alek Ratzloff <alekratz@gmail.com>