gosc is a toy scheme processing by Golang.
You only type go get
below:
$ go get github.com/sott0n/gosc
$ gosc
$ gosc [filename].scm
$ gosc -e "(+ 1 2)"
$ gosc -a
$ gosc -h
Type | Support | Status |
---|---|---|
Number | +, -, *, /, =, <, <=, >, >= | ○ |
List | car, cdr, cons, list, length, memq, last, append, set-car!, set-cdr! | △ |
Boolean | not, #f, #t | ○ |
String | string-append, symbol->string, string->symbol, string->number, number->string | ○ |
Type | number?, null?, pair?, list?, symbol?, procedure?, boolean?, string? | ○ |
Comparison | eq?, neq?, equal? | ○ |
Syntax | lambda, let, let*, letrec | △ |
Statement | if, cond, and, or, begin, do | △ |
Definition | set!, define, define-macro | △ |
Others | load | ○ |
- Create AST method
- Add some tests
- Add [-*/] symbol
- etc ..