
Thomas Hartman wrote:
Is there some way to use any of the various regex packages on hackage via yhc? Has anyone installed one them successfully?
I'd like regex-tdfa, but would settle for regex-posix, or really, anything that brings the convenience of regex to yhc.
In general, is there a straightforward way to install "extralibs" type packages for universal "import" availability in yhc?
Is there a cabal equivalent for yhc? Documentation pointer would be appreciated; I searched but couldn't find anything. Maybe not using the right keywords...
t.
I put the regex-* packages on hackage. I have had no reports of use with yhc. Some of the convenience comes from the regex-base font end. The high level (=~) and 'match' regex API depends on the MPTC's of regex-base, and these currently use functional dependencies. This works on GHC and Hugs. I cannot quickly find on http://www.haskell.org/haskellwiki/Yhc what YHC supports. The regex-posix package is a backend, the oldest. It exposes the platform's POSIX regex.h library through the FFI calls in Text/Regex/Posix/Wrap.hsc. This C api is further layered in the data type specific modules: Text/Regex/Posix/String.hs Text/Regex/Posix/Sequence.hs Text/Regex/Posix/ByteString.hs Text/Regex/Posix/ByteString/Lazy.hs And all of that is re-exported in Text/Regex/Posix.hs A similar design is followed by the regex-pcre backend (and the deprecated regex-tre backend). One _could_ refactor regex-posix into two packages. One would give standalone accesses to the backend and simply be Haskell98 + FFI. The other would declare the instances to make this available though regex-base. The regex-tdfa backend is my own creation, and is not a wrapper for another library. It uses some non-Haskell98 syntax, such as the "mdo" syntactic sugar for MonadFix (aka recursive do). Cheers, Chris