
Hi Evan EHC - Essential Haskell Compiler - is the 'family of compilers' that UHC - Utrecht Haskell Compiler - is instance one of. The EHC family starts with a simple Haskell subset and adds features building up to (almost) Haskell98 for UHC and extended Haskell for some of the EHC variations. This style of software development is sometime called 'feature oriented development' or 'software product lines', the ML compiler MLPolyR is another compiler built as a family of variants. UHC had a version 1.0 release last year. From the documentation it doesn't look like UHC supports type class directives: http://www.cs.uu.nl/wiki/bin/view/Ehc/UhcUserDocumentation
From a bit of nosing around, I'm not sure that any of the EHC variants support type class directives either. It does look like Helium (Utrecht's simplified Haskell variant for teaching) supports them, and Helium has certainly been released. That said, I've no association with the Utrecht developers, so I'm not really qualified to say for EHC, though I have studied its source a bit and grepping hasn't turned up an answer. Incidentally, studying the source of EHC is probably the best way to learn idioms and techniques for UUAG.
From the 'Type Class Directives' paper here are some example directives:
never Eq (a -> b): functions cannot be tested for equality never Num Bool: arithmetic on booleans is forbidden disjoint Integral Fractional: something which is fractional can never be integral close Similar: the instances of Similar are @insts@. (Similar being an Eq like class that is available only for integers) Best wishes Stephen