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
assets feat: one line install 🎉 2022-02-11 18:07:32 +07:00
blspc refactor: separate Type to its own file 2022-02-11 18:07:32 +07:00
example feat: slurp or file read to string 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 refactor: merge all repos 2022-02-11 18:07:32 +07:00
Cargo.toml refactor: merge all repos 2022-02-11 18:07:32 +07:00
install.sh refactor: reindent 2022-02-11 18:07:32 +07:00
Makefile refactor: merge all repos 2022-02-11 18:07:32 +07:00
README.md docs: while 2022-02-11 18:07:32 +07:00
test.sh refactor: change register format 2022-02-11 18:07:32 +07:00

bobbylisp

another lisp dialect

Also available on https://git.ablecorp.us/azur/bobbylisp

Installation

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

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

$ blspc help

Example

$ blspc compile ./example/hello.blsp
$ blspc run ./hello.bsm
Hello, World!

Progress:

DONE:

  • Parsing, Compiling, Running(VM)
  • Intrinsic:
    • Function definition: fun
    • Variable definition: def
    • Do blocks: do
    • User input: read
    • Printing: print
    • Condition: if
    • Loops: while
    • 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())