Predefined functions and composit functions are now applied in the same way.
Renamed functions for (hopefully) better clarity.
Stuck pondering how to solve the use of keywords in symbol expressions...
Simple symbolic expressions can now be parsed.
Realized that to support more complex s-expressions and
facilitate evaluation of s-expressions, the parser need
to be redone. It should produce s-expressions that is
evaluated instead of the current structure of
defs, calls, numbers, lambdas etc.
Parser now yields a symbolic expression. Evaluator is broken. Tests need cleanup.
Cleaned up test code, removing commented tests for old parser that
also classified the expressions.
Rewritten evaluator to work with new parser structure.
Cleanup is needed. Also need more/better negative test
that verify meaningfull error messages.
Adding back tests that were defined for the parser,
but must now be handled by the evaluator.
Refactored test to facilitate breaking up the evaluator further.