# Lithia lisp implemented in rust ## Name Name comes from another name for Lithium Oxide ## Functions * `quote` Returns whatever its given, used for when you don't want to evaluate something * `exit` Exit lisp interpreter, number may be provided for exit code * `=`, `set` Sets a variable * `def` Define a global * `defunc` Define a global function * `eval` Evaluates the given object and what it returns * `print` Display an object * `read` Reads a line into objects * `include` Reads a file and evaluates it, returning the last object * `while` While first argument isn't nil, evaluates the rest * `read` Prompts for input and converts it to objects * `func` Creates a function * Use: ```lisp (func (arg1 arg2) (body) (body) return_value) ``` * `car`, `first` Gets the first element in a dot-pair * `cdr`, `next` Gets the second element in a dot-pair ### Math functions * `+`, `add` * `-`, `sub` * `*`, `mul` * `/`, `div` * `%`, `mod` * `==`, `eq` * `!=`, `ne`