Dependent vector types for data structuring in multirate Faust - Archive ouverte HAL 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

(1) , (2)
1
2
Pierre Jouvelot
Yann Orlarey
  • Fonction : Auteur
  • PersonId : 882828

Résumé

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.
Fichier non déposé

Dates et versions

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

Identifiants

Citer

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/j.cl.2011.03.001⟩. ⟨hal-00628564⟩
83 Consultations
0 Téléchargements

Altmetric

Partager

Gmail Facebook Twitter LinkedIn More