cleaning typechecking support for a few more contexts for expressions (e.g. on expressions in joins, check expressions, wheres in updates and deletes, etc.) type checking support for a few more statement types work on implicit casts improvements to checksource command prototype idea for extension system hack to improve typechecking of function bodies - they are now type checked after the whole rest of the file lots of work on catalog typechecking main internal changes: lots of refactoring heavy rearrangement of ag code, it's not a complete mess anymore split local binding code from catalog code environment New environment data type with abstracted implementation, can now process ddl in a script and type check against it. Some work on variable scoping, and annotations. New commands: annotateSource (adds some annotations for statements into the original source code as comments), and checksource, which outputs type errors in emacs friendly format. annotated tree The API and type checking code has had a major overhaul, now uses annotations inline in the ast, has rudimentary haddock documentation, and the API is starting to take shape. No significant progress on actual parsing or typechecking since last release. secondtypechecking typechecks a fair amount of select statements, and does some type checking of insert, update, delete and create statements. It can also take a sql file and parse, type check, and spit it back out with type checking information interspersed with the statements (but with the formatting mangled and the comments stripped). earlytypechecking hasn't fixed the error messages, but can now type check some select statements, it includes a command to read a sql file in, type check it against a database, then pretty print the ast interspersed with the inferred types of each statement in comments. lexing parses with a separate lexer, unfortunately the error messages have gone wrong. prealpha1 parses without a separate lexer and gives ok error messages