Stream Processing for Embedded Domain Specific Languages
Paper i proceeding, 2014

We present a library for expressing digital signal processing (DSP) algorithms using a deeply embedded domain-specific language (EDSL) in Haskell. The library supports definitions in functional programming style, reducing the gap between the mathematical description of streaming algorithms and their implementation. The deep embedding makes it possible to generate efficient C code without any overhead associated with the high-level programming model. The signal processing library is intended to be an extension of the Feldspar EDSL which, until now, has had a rather low-level interface for dealing with synchronous streams. However, the presented library is independent of the underlying expression language, and can be used to extend any pure EDSL for which a C code generator exists with efficient stream processing capabilities. The library is evaluated using example implementations of common DSP algorithms and the generated code is compared to its handwritten counterpart.

EDSL

Digital Signal Processing

Haskell

Författare

Markus Aronsson

Chalmers, Data- och informationsteknik, Programvaruteknik

Emil Axelsson

Chalmers, Data- och informationsteknik, Programvaruteknik

Mary Sheeran

Chalmers, Data- och informationsteknik, Programvaruteknik

Proceedings of the 26nd 2014 International Symposium on Implementation and Application of Functional Languages

Vol. 01 1-12 8

26th Symposium on Implementation and Application of Functional Languages, IFL 2014
Boston, USA,

Styrkeområden

Informations- och kommunikationsteknik

Ämneskategorier

Data- och informationsvetenskap

DOI

10.1145/2746325.2746334

Mer information

Senast uppdaterat

2020-01-30