I think I've solved the problem. The Text.Read.Lex does contain the missing parts. I had two problems. The one is solved by using <++ ( use the first parser, falback to the second), the second was: parse till EOF. This is solved by using the functions defined in Lex itself. Thanks for listening :) Marc