Truncate floats to ints; clean up bugs with functions; change scope semantics
Permit scopes to appear as terms in expressions.
Permit anonymous functions as the subject of function calls.
Built-in truncate
function converts floats to ints. Other conversion functions are built on top of this. Closes #77.
Properly support unary - and + operators for arbitrary expressions, not just numerical literals. Closes #79.
Move subfunction pattern matching logic into closure expressions, which means you can pass named functions as arguments to functions that expect a lambda. Closes #61.
Change scope semantics such that if a new named function is declared that shadows the same name outside the scope, the one outside is completely ignored during evaluation of the scope.