Which scala compiler plugins are available?
Question
I stumbled across the ScalaCL project and its compiler plugin that has an awesome loop optimizer.
This made me wonder:
Which compiler plugins are available for scala?
Plugins need not be performance improving plugins; any type of plugin is eligible for this list.
(I have done Google searches but the SNR is low for this query.)
Solution
A few plugins are linked from this thread on the mailing list (autoproxy, browse, enhanced strings, avro).
From the Scala team, there is the existing delimited continuations plugin, and a current effort toward an effect system plugin.
Documentation on writing a plugin is here.
OTHER TIPS
There also exists a compiler plugin for generation functional lenses in scalaz: https://github.com/gseitz/Lensed for more details see here: http://groups.google.com/group/scalaz/browse_thread/thread/a9334c5741b67d55
There's also the miniboxing plugin, for optimizing generics: scala-miniboxing.org.
Here's a plugin written by Eiríkr Åsheim that optimizes generic numeric code (runtime + compiler plugin) : https://github.com/azavea/numeric