
Following up on haskell-cafe: Hi Chris,
For the last few years I've been working on a pattern-match checker for Haskell, named Catch. I'm now happy to make a release: I would love to use this with regex-tdfa (and the other regex-* modules).
At the moment regex-tdfa is uses a few extensions such as recursive "mdo" notation and parts hook up to the MPTC + fundeps used in regex-base. The MPTC+fundeps are not part of the workhorse modules, they are just "type class syntactic sugar" that makes it easier for the library consumer. But "mdo" _is_ used in two of the important internal functions.
You have several options: * Wait until GHC Core is working, when Catch will work with all these things automatically. * Rewrite your code to eliminate mdo, if you wish to port regex to Yhc you will need to do this anyway. * Find an mdo preprocessor (I think one exists?) and preprocess the code before checking. Obviously the GHC Core one is least work for you, but won't be available for a while. Thanks Neil