1
1
Fork 0
mirror of https://github.com/azur1s/bobbylisp.git synced 2024-10-16 02:37:40 -05:00
bobbylisp/README.md

44 lines
1.3 KiB
Markdown
Raw Normal View History

2022-01-26 08:59:05 -06:00
# <img src="https://raw.githubusercontent.com/azur1s/bobbylisp/master/assets/icon.png" width="35"> bobbylisp
2022-01-21 17:43:50 -06:00
another lisp dialect
2022-01-25 21:54:07 -06:00
> Also available on https://git.ablecorp.us/azur/bobbylisp
2022-01-21 17:43:50 -06:00
2022-01-26 08:59:05 -06:00
## <img src="https://raw.githubusercontent.com/azur1s/bobbylisp/master/assets/icon.png" width="25"> Installation
2022-02-01 14:10:42 -06:00
```console
2022-01-26 08:54:40 -06:00
$ bash <(curl -s https://raw.githubusercontent.com/azur1s/bobbylisp/master/install.sh)
2022-01-24 14:08:41 -06:00
```
The binary will be installed in `~/bin/blspc` run it with:
2022-02-01 14:09:34 -06:00
```console
2022-02-01 14:07:50 -06:00
$ blspc help
2022-01-24 14:08:41 -06:00
```
2022-01-26 08:59:05 -06:00
### <img src="https://raw.githubusercontent.com/azur1s/bobbylisp/master/assets/icon.png" width="15"> Example
2022-02-01 14:09:34 -06:00
```console
2022-02-01 14:07:50 -06:00
$ blspc compile ./example/hello.blsp
$ blspc run ./hello.bsm
2022-01-25 21:54:07 -06:00
Hello, World!
```
2022-01-26 08:59:05 -06:00
## <img src="https://raw.githubusercontent.com/azur1s/bobbylisp/master/assets/icon.png" width="25"> Progress:
2022-01-27 17:46:39 -06:00
DONE:
- Parsing, Compiling, Running(VM)
2022-01-27 18:07:38 -06:00
- Intrinsic:
- Function definition: `fun`
- Variable definition: `let`
- Do blocks: `do`
2022-02-04 20:48:52 -06:00
- User input: `read`
- Printing: `print`
- Condition: `if`
2022-02-01 13:57:35 -06:00
- Math:
- `+` , `add`
- `-` , `sub`
- `*` , `mul`
- `/` , `div`
2022-01-27 18:07:38 -06:00
2022-01-27 03:08:21 -06:00
TODO:
2022-01-27 18:33:58 -06:00
- Prove turing complete
2022-01-27 17:46:39 -06:00
- Do the intrinsic left
2022-01-27 03:08:21 -06:00
- Quote, Quasiquote, etc.
2022-02-03 20:47:59 -06:00
- Linter, for stuff like undefined variables, etc.
2022-01-27 03:08:21 -06:00
- Optimizing
2022-02-01 13:57:35 -06:00
- Remove unnecessary copying in the entire codebase (also with `.unwrap()`)