Results 1 -
3 of
3
The Canon Score Language
, 1989
"... Canon is both a notation for musical scores and a programming language. Canon offers a combination of declarative style and a powerful abstraction capability which allows a very high-level notation for sequences of musical events and structures. Transformations are operators that can adjust common p ..."
Abstract
-
Cited by 18 (3 self)
- Add to MetaCart
Canon is both a notation for musical scores and a programming language. Canon offers a combination of declarative style and a powerful abstraction capability which allows a very high-level notation for sequences of musical events and structures. Transformations are operators that can adjust common parameters such as loudness or duration. Transformations can be nested and time-varying, and their use avoids the problem of having large numbers of explicit parameters. Behavioral abstraction, the concept of making behavior an arbitrary function of the environment, is supported by Canon and extends the usefulness of transformations. A non-real-time implementation of Canon is based on Lisp and produces scores that control MIDI synthesizers. Introduction Canon is a computer language designed to help composers create note-level control information for hardware synthesizers or synthesis software. Canon was motivated by my need for a simple yet powerful language for teaching second-semester stud...
Time-constrained Reactive Automata -- A Novel Development Methodology for Embedded Real-time Systems
, 1991
"... ..."
Expressing Temporal Behavior Declaratively
"... The programming language Arctic specifies real-time behavior declaratively by using temporal control constructs and by indicating starting times and durations explicitly, much the way timing is specified in a cue sheet or a musical score. Values in Arctic are functions of time, which may be combined ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
The programming language Arctic specifies real-time behavior declaratively by using temporal control constructs and by indicating starting times and durations explicitly, much the way timing is specified in a cue sheet or a musical score. Values in Arctic are functions of time, which may be combined with various arithmetic and logical operators. Since Arctic is a single assignment language, the execution order is implied by data dependencies, simplifying synchronization problems for the programmer. Arctic supports behavioral abstraction, in which a single program module gives rise, through various transformations, to a class of behaviors. An implementation of Arctic is described, and experience with the declarative approach to real-time control is discussed. 1. Introduction For the most part, traditional programming languages have been designed for applications where control over the timing of execution is not a primary concern. Users usually want their programs to run as fast as poss...

