more test cases
changed lexer from concatMap to map since lambda splitting will be moved
to a later module because of shared AST
fixed error checking
lambdasplitting in semantic analysis