Skip to Main content Skip to Navigation
Journal articles

Dependent vector types for data structuring in multirate Faust

Abstract : 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.
Complete list of metadata

https://hal-mines-paristech.archives-ouvertes.fr/hal-00628564
Contributor : Claire Medrala <>
Submitted on : Monday, October 3, 2011 - 4:05:49 PM
Last modification on : Monday, May 3, 2021 - 8:44:04 AM

Identifiers

Citation

Pierre Jouvelot, Yann Orlarey. Dependent vector types for data structuring in multirate Faust. Computer Languages, Systems and Structures, Elsevier, 2011, Volume 37 (Issue 3), pp.113-131. ⟨10.1016/j.cl.2011.03.001⟩. ⟨hal-00628564⟩

Share

Metrics

Record views

271