22

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.)

Tomasz Nurkiewicz
  • 334,321
  • 69
  • 703
  • 674
HRJ
  • 17,079
  • 11
  • 56
  • 80

4 Answers4

12

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.

Kipton Barros
  • 21,002
  • 4
  • 67
  • 80
3

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

AndreasScheinert
  • 1,918
  • 12
  • 18
  • I had read about the lenses plugin but forgotten about it. Thanks for mentioning it. – HRJ Sep 11 '11 at 07:04
2

There's also the miniboxing plugin, for optimizing generics: scala-miniboxing.org.

Vlad Ureche
  • 166
  • 3
1

Here's a plugin written by Eiríkr Åsheim that optimizes generic numeric code (runtime + compiler plugin) : https://github.com/azavea/numeric

zOlive
  • 1,768
  • 13
  • 11