Experience Report: Embedded, Parallel Computer-Vision with a Functional DSL

Ryan Newton and Teresa Ko

The 14th ACM SIGPLAN International Conference on Functional Programming (ICFP 2009)
Edinburgh, Scotland, 31st August - 2nd September 2009


This paper presents our experience using a domain-specific functional language, WaveScript, to build embedded sensing applications used in scientific research. We focus on a recent computer-vision application for detecting birds in their natural environment. The application was ported from a prototype in C++. In reimplementing the application, we gained a much cleaner factoring of its functionality (through higher order functions and better interfaces to libraries) and a near-linear parallel speed-up with no additional effort. These benefits are offset by one substantial downside: the lack of familiarity with the language of the original vision researchers, who understandably tried to use the language in the familiar way they use C++ and ran into various problems.

[Note from the PC chair: The author of this paper accidentally failed to note the page limit until very late in the submission process, so he ended up just putting the last two pages of his 6 page paper into the supplementary material. Please read them iff you liked the first 4 pages...]

START Conference Manager (V2.56.8 - Rev. 748M)