On Sun, Feb 22, 2009 at 3:31 AM, Paul Johnson <paul@cogito.org.uk> wrote:
>   parseDeclarations :: Parser [Declaration]
>   parseDeclarations = mdo
>      decls <- many ParseDeclaration symbols 
>      let symbols = makeSymbolTable decls
>      return decls

Given a MonadFix instance, keep in mind that you should do this only if the success of the parse does not depend in any way on the symbol table -- otherwise you will be in bottom city.

Luke