The EISCAT Svalbard Radar [1] is a fixed 42m dish and a fully steerable 32m dish used for research into the Suns interaction with the magnetosphere. JMaCS [2], the Java API derived from experimental software developed for the monitoring and controlling of these dishes, has recently been rewritten in Scala.
In this paper [3], soon to be presented at the forthcoming 14th International EISCAT Workshop [4], it is explained how, with the help of Scala's type members and the 'type-safe singleton' pattern, the new API allows a range of 'programmable device' components to be written more concisely, and in a type-safe manner. Comparisons are made with the original Java implementation.
This move to Scala was motivated by the better support provided for writing components, such as Programmable Devices(PDs), with traits, a more concise syntax, type inferencing and Actors. However, type-safety, language extensibility via libraries, functional programming and scripting proved to be invaluable.
Links:
[1] http://eiscathq.eiscat.se:8080/ESR
[2] http://jmacs.org
[3] http://lafros.com/macs/preprint.pdf
[4] http://uit.no/fysikk/eiscat2009ws