Reputation: 17777
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.)
Upvotes: 22
Views: 2321
Reputation: 166
There's also the miniboxing plugin, for optimizing generics: scala-miniboxing.org.
Upvotes: 2
Reputation: 1778
Here's a plugin written by Eiríkr Åsheim that optimizes generic numeric code (runtime + compiler plugin) : https://github.com/azavea/numeric
Upvotes: 1
Reputation: 1918
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
Upvotes: 3
Reputation: 21112
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.
Upvotes: 12