I have attached a tiny parser and lexer.
This is really key to getting the lexing correct.
The only thing I could not get neatly was to disallow hyphens at the end of identifiers, so have left it off until a good solution arrives.
I plan to move over to monads next.
Any comments welcome,
Aaron