RAI

Introduction


  • Go over FeldSpar and its goals and inspirations. This paper has a nice list of references to Spiral, Pan, Obsidian,
  • Compared to existing systems, RAI is probably most similar to Faust, a functional stream processor language developed at Grame in France. The main difference with Faust are:
    • RAI is an extention to an established programming language, i.e. Racket, a Scheme dialect with extensive support for writing embedded DSLs.
    • A core element of RAI is the ability to easily construct alternative language interpretations.
    • RAI supports control rate programming, allowing slow rate update of parameters that are expensive to compute.
    • Feedback in RAI follows a more traditional approach using a state-space update equation, while faust uses a 2-operand combinator.
    • On the practical side, Faust is over 10 years old and has a lot of support and libraries.
    • Faust has a more sophisticated compiler/optimizer.