1
1
Fork 0
mirror of https://github.com/azur1s/bobbylisp.git synced 2024-10-16 02:37:40 -05:00
Another lisp dialect (mirror)
Find a file
2022-02-11 18:07:32 +07:00
example rebrand: vy 2022-02-11 18:07:32 +07:00
vyc rebrand: vy 2022-02-11 18:07:32 +07:00
.gitignore refactor: move instructions definition to middle 2022-02-11 18:07:32 +07:00
Cargo.lock rebrand: vy 2022-02-11 18:07:32 +07:00
Cargo.toml rebrand: vy 2022-02-11 18:07:32 +07:00
install.sh rebrand: vy 2022-02-11 18:07:32 +07:00
Makefile rebrand: vy 2022-02-11 18:07:32 +07:00
README.md rebrand: vy 2022-02-11 18:07:32 +07:00
test.sh rebrand: vy 2022-02-11 18:07:32 +07:00

vy

another lisp dialect

Installation

$ bash <(curl -s https://raw.githubusercontent.com/azur1s/vy/master/install.sh)

The binary will be installed in ~/bin/vyc run it with:

$ vyc help

Example

$ vyc compile ./example/hello.vy
$ vyc run ./hello.bsm
Hello, World!

Progress:

DONE:

  • Parsing, Compiling, Running(VM)
  • Intrinsic:
    • Function definition: fun (no arguments yet)
    • Variable definition: def
    • Do blocks: do
    • User input: read
    • Printing: print
    • Condition: if
    • Loops: while
    • Erroring: throw
    • Math:
      • + , add
      • - , sub
      • * , mul
      • / , div
    • Comparison:
      • = , equal
      • ! , not

TODO:

  • Prove turing complete
  • Do the intrinsic left
  • Quote, Quasiquote, etc.
  • Linter, for stuff like undefined variables, etc.
  • Optimizing
  • Remove unnecessary copying in the entire codebase (also with .unwrap())