Dependent vector types for data structuring in multirate Faust - Mines Paris Accéder directement au contenu
Article Dans Une Revue Computer Languages, Systems and Structures Année : 2011

Dependent vector types for data structuring in multirate Faust


Faust is a functional programming language dedicated to the specification of ex- ecutable monorate synchronous musical applications. To extend Faust capabil- ities to important domains such as FFT-based spectral processing, we introduce here a multirate extension of the core Faust language. The novel idea is to link rate changes to data structure manipulation operations. Creating a vector-valued output signal divides the rate of input signals by the vector size, while serializ- ing vectors multiplies rates accordingly. As duals to vectors, we also introduce record-like data structures, which are used to gather data but do not change sig- nal rates. This interplay between data structures and rates is made possible in the language static semantics by the introduction of dependent types. We present a typing semantics, a denotational semantics and correctness theorems that show that this data structuring/multirate extension preserves the language synchronous characteristics. This new design is under implementation in the Faust compiler.

Dates et versions

hal-00628564 , version 1 (03-10-2011)



Pierre Jouvelot, Yann Orlarey. Dependent vector types for data structuring in multirate Faust. Computer Languages, Systems and Structures, 2011, Volume 37 (Issue 3), pp.113-131. ⟨10.1016/⟩. ⟨hal-00628564⟩
89 Consultations
0 Téléchargements



Gmail Facebook X LinkedIn More