This project is a proof of concept of the application of implicit macros (not yet a part of Scala, but hopefully they will be in Scala 2.11) to shapeless.
Currently this comprises an implicit macro which automagically creates
instances of shapeless Iso
s for arbitrary case classes. This completely
eliminates the residual boilerplate currently required in several of shapeless's key
applications.
Between now and the 2013 North East Scala Symposium I'll add implicit macros supporting shapeless's type-level natural numbers and sized collections, which I'll be talking about in Philly if I get enough votes!
And that's about it: my current plan is to fold everything of value here into shapeless proper as soon as implicit macros are available in Macro Paradise and shapeless builds cleanly with Scala 2.11.0-SNAPSHOT.
Clone this project and run sbt
(I recommend Paul Phillips sbt launcher script): compile
and then test
to run the example.
Please use the shapless mailing list for discussion of this project and applications of implicit macros in shapeless (or elsewhere).
Thanks to Eugene Burmako for supporting implicit macros and being so generally helpful. And thanks to Alois Cochard for kicking the tires and sending pull requests so quickly.