Hello all,

I have just released "boilerplate" to Hackage

  http://hackage.haskell.org/package/boilerplate

boilerplate is a command line tool that generates explicit boilerplate and
inserts it into your source code, enclosed in comments that text editors
can easily hide from view. Like the way IDEs do it for languages such as
Java, C++ and Go.

This is possible by using the ghc api (via my library and tool "hsinspect")
to parse type information from the current module and then use that to
drive template expansion using source code marker and a simple template
language for rules.

As a demo I have created rules for the most common stock classes (Eq, Ord,
Show), some language extensions (Functor, Foldable, Traversable) and some
popular classes (FFunctor, Aeson's FromJSON / ToJSON), and QuickCheck's Gen
(which is not a typeclass!).

My main hope for this little tool is that it will allow entry level teams
who are adopting Haskell to stick to the Haskell2010 standards without
having to learn advanced language extensions or get into type level
programming.

I also hope that more libraries can use this code to produce more portable
code! e.g. targeting whole program optimising compilers that only support
Haskell2010.

(thanks to SPJ for helping me get over the final hurdle by pointing me to
freeKiTyVarsTypeVars . extractHsTyRdrTyVars)

Best regards,
Tseen She
_______________________________________________
ghc-devs mailing list
ghc-devs@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

Reply via email to