Numbers like we are all familiar with. (ie. 1
, 1.1
, 1.1e+13
, 1.1e-13
)
Symbols are names that can be assigned to any value. (ie. add
, def
, fun
, some-var
)
usage: def {symbol-name} value
Strings are characters delimited by double quotes. (ie. "c'ect ci nest pa un pipe?"
, "hg king"
)
S-Expressions are used to call and evaluate functions. (ie. (+ 1 2 3)
, (- (+ 9 1) (* 5 2))
, (list 1 2 3 4)
, (== {} {})
)
usage: (function arg0 arg1 arg2)
Q-Expressions are lists of values, remains unevaluated. (ie. {1 1 1 1}
, {+ 9 (== {} {})}
)
usage: {elem0 elem1 elem2}
Lambda functions are how you build functions, can be partially applied. (ie. (\ {a b} {+ a b})
)
usage: (\ {arg-list} {body})