Just an update on the recent changes in the repo: The good - completely rewritten from scratch deriving mechanism that actually, well, works in many cases the old one didn't. The old one relied on generating haskell source code that was then fed back into the compiler, the new one generates the AST directly. This is a drastic improvement. - standalone deriving now works for most classes, and multiple derived instances will not conflict. - deriving Typeable, Foldable, Traversable, Typeable, and Ix have been added. - LambdaCase extension implemented, this actually turned out to be extremely useful internally as it allows desugaring of do and list comprehensions directly without requiring a unique name source to be piped through, quite handy. The later I can move these desugarings the better the error messages jhc generates are. - -X extension handling revamped to be less ad-hoc. there is a map in src/Options/Map.hs to map -X flags to jhc internal feature flags. The bad - lamba case seems to tickle a bug in the type checker, I need to make special provisions to ensure it is applied Monomorphically just like a real lambda. - Read and Show formatting have slightly changed so break regtests but are still valid. need to tweak them. should probably just conform to what ghc does for whitespace in case anyone out there depends on the exact formatting. -- John Meacham - http://notanumber.net/
participants (1)
-
John Meacham