[jhc] jhc repo update

John Meacham john at repetae.net
Mon Jun 9 13:27:33 UTC 2014


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/


More information about the jhc mailing list