- libsodium (link to libsodium)
-
variable definition and setting:x
DataTypes: Numbers、Strings、Characters、Lists、Pairs.
e.g:
(define x 1)
(define x '(1 . 2))
(define x '(1 2 3))
(set! x 1)
(define x 'a)
-
procedure definition(normally argument):(lambda (x) expr)
e.g: (define x (lambda (arg) expr))
-
binding:
- (let ([x v]) expr)
- (let* ...)
- (letrec ...)
-
calling:(proc arg ...)
-
calculate:(+-*/ expr ...)
-
Built-in procdures: (list), (cons), (list?), (pair?), (map), (filter), (car), (cdr), (=) (>) (<) for Number
-
Conditional Form: (if), (and), (or), (not)
- (cond)
- ((lambda (...) ...) ...), procedure call
- (>=), (<=)
- racket null and empty
- SHA256 hash function provided by libsodium
make sure you have installed libsodium first.
> cd <path_to_the_project>
> chmod 755 ./build.sh
> sudo ./build.sh
> cd ./build
# you can find executable file named "Little-Racket" in current folder.
> ./Little-Racket <path_to_racket_file>
> ......
> cd <path_to_the_project>
> chmod 755 ./install.sh
> sudo ./install.sh
# Default install to /usr/local/bin
Raw code
-> tokens (tokenizer)
-> Racket type AST (parser)
-> result (calculator)