npm install
npm run build
npm run test
Execute code:
const Schemy = require("../bin/schemy.js").Schemy
const schemy = new Schemy()
const code = `(define a 5)
(+ a a)`
const res = schemy.evaluate(code)
console.log(res) // -> 10
<script src="js/schemy.js"></script>
<script>
const schemy = new Schemy()
const code = `(define a 5)
(+ a a)`
const res = schemy.evaluate(code)
console.log(res) // -> 10
</script>
(quote <expression>)
'<expression>
(define <symbol> <expression>)
Accepts zero or more bound parameters. Evaluates and returns the value of the body expression.
(lambda (p0 p1 ... pn)
<expression>)
Contains three expressions
(if <expression> ; test expression
<expression> ; then expression
<expression>) ; else expression
Evaluates all expressions in order. Returns the value of the last expression
(begin <expression 1>
<expression 2>
...
<expression n>)
###Symbol
'symbol
1 3.14 +42.5 -22.5
(lambda () expr)
(lambda (p1 p2 ... pn) expr)
'()
(list)
'(1 2 3)
(list 1 2 3)
(cons 1 (cons 2 (cons 3 '())))
"Hello world!"
(number? e)
(symbol? e)
(eq? e1 e2) ; Returns 1 or '()
(cons e1 e2)
(car e)
(cdr e)
(display e)
(newline)
(+ e1 e2)
(- e1 e2)
(* e1 e2)
(/ e1 e2)
(modulo e)
(round e)
(floor e)
(= e1 e2)
(> e1 e2)
(>= e1 e2)
(< e1 e2)
(<= e1 e2)