Commit Graph

60 Commits

Author SHA1 Message Date
c493ab69bb Add meta token
Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
2022-01-16 12:27:26 -08:00
88080c750b Rename bang->apply
! syntax item has been referred to as "bang" instead of "apply" in some
places, this is fixed

Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
2022-01-12 22:14:54 -08:00
90f27a4108 Add branching and more coherent method of function calls
We're turing-complete, babey!

* Call stack for functions now differentiates between native and quote
  calls
* Better API for builtin functions allowing for more control
* Example showing off branches

Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
2022-01-12 21:49:41 -08:00
c31be8142c Update hello world to use a function
Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
2022-01-12 19:43:29 -08:00
907c8ce1af Move src/syn/word.rs to src/scope.rs; add BuiltinFn
* crate::scope instead of crate::syn::word, which makes more sense
  because scopes are not really used in syntax at all
* Reference-counted BuiltinFn values are available for creation now

Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
2022-01-12 18:00:11 -08:00
1c669decc4 Finally have things printing to the screen
Nothing fancy yet. This commit adds a bunch of stuff (oops):

* compiling code
* VM with instructions
* remove eval.rs and just eval in the Machine struct itself
* squash most warnings now that we're using stuff here

And probably more. But that's all for now folks

Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
2022-01-12 17:35:48 -08:00
a190157eeb Minor cosmetic update to parser.rs
Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
2022-01-09 18:04:32 -08:00
cbe22bb89e Start adding eval and machine implementations, remove Inst for now
We're not compiling yet and mostly want to get the name stuff figured
out. Also may switch to using anyhow error handling.

Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
2022-01-08 10:13:27 -08:00
9e20dcf59c Add parser, vm, objects
Big ol thing. You should check it out sometime

Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
2022-01-07 20:30:55 -08:00
946a927b09 Initial commit WIP
Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
2021-12-21 11:29:59 -08:00