Remove redundant 'return value' in defineVar
Expand LispVal to include primitives & functions
Add missing showError (Default message)
Fix equal to work properly on lists
Avoid use of ++ in eqv and equal for dotted lists
Fix typo in equal: 'arg2 arg2' -> 'arg1 arg2'
Remove unnecessary parens in eqv
Implement minimal cond
Rewrite boolBinop with pattern matching to avoid use of length
Correct Scheme function names: '&&' -> 'and', '||' -> 'or'
Fix 'and' & 'or' to match the spec
Expand cond to allow a final 'else' clause
Change 'otherwise' to '_' in case expressions
Make eqvalDotted compare the last values before comparing the lists
Expand cond to allow multiple non-test expressions per clause
Expand cond to allow zero non-test expressions per clause
Allow boolean operators to take more than 2 arguments
Rename 'mod' to 'modulo'
Implement 'case' with only 1 datum per clause
Simplify eqvalDotted