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 ..