check tpch add tests to cabal haddock dialect switching refactor the join parsing left factor parsing code reimplement the fixity thing natively fix lexing wrt suffixes 1/2 done position annotation emacs parse error formatting = sql support scalar function syntax: cast exists, in subquery scalar subquery in list any/some/all between is null/ is not null interval literal typed string lit aggregate app window app review all ansi sql operators placeholder/positional arg other missing operators extract substring unary + - row constructors? except, intersect, union -- add docs and haddocks at this point review identifiers order by nulls first/last extend case more dots in identifiers escapes in string literals full number literals quoted identifiers group by (), grouping sets(), cube, rollup lateral corresponding named windows table, values cte apply, pivot full tableref aliases collate within group aggregate syntax try to do full review of sql2003 query syntax maybe later: other dml