tcalculus-1.0.0: A DSL prototype for structured realtime/reactive functional programing
The T-calculus is a domain-specific language prototype, presently embedded in Haskell. It aims at experimenting tiled programming for the design and implementation of reactive/realtime temporal media systems. It is based the fairly rich algebraic model of overlaping tiles (see Docs). The current implementation can roughly be described as: * a generic implementation of the overlaping tile algebra (see Tile and QList), * various functions combinators deriving from good categorical properties (see Functile), * a freeze/update apply for on-the-fly use (see Tilable and Updatable), * a generic reactive kernel that allows tranforming streams of events into tiles and vice versa tiles into streams of events (see Reactive and Player), * a language front end for the T-calculus (yet under development) * a MIDI instance of that kernel (see Examples) for experimentation in computer music (also under development) with UISF in the background, see Interpolations experiments. The T-calculus developement is part of the PoSET project.
- Docs A collection of docs and examples of use with pictures
- Docs.Additive Examples and properties of the tile algebra
- Docs.Multiplicative Examples and properties of the tile algebra
- Docs.Normalization Examples and properties of the tile algebra
- Docs.QList Examples and properties of the tile algebra
- Duration Duration modules
- Duration.Affine Linear polynoms with positive values of variable
- Duration.Lattice Complemented complete lattice
- Duration.MinMax Lattice completions of num data types
- Duration.MinMaxAffine Lattice completion of our Affine type
- Duration.POrd Pre (or partially) ordered set
- Reactive Reactive modules
- Reactive.Duration The chosen implementation of duration for reactive tile
- Reactive.Event Events from which temporal values can be converted back and forth
- Reactive.Input Defines input structure
- Reactive.QState Turning function over (nice) tiles into reactive systems
- Reactive.RTile Reactive tile
- Reactive.TimeStamp A little module on timestamps
- Reactive.Updatable A trick for explicit recursion/update
- Runtime
- Runtime.EventAndQList Turning qlist into timed event lists and back
- Runtime.Multiplex
- Runtime.Player The reactive player of (functions of) tiles
- Runtime.Probe
- Runtime.SymbolicTime Converts real time and tempo into symbolic time
- TScore Frontend for reactive music programing
- TScore.Main Definition of the T-Score language
- TScore.Midi Module that contains basic music definitions
- TScore.MidiPlus Module that contains basic music definitions
- TScore.Tempi Various functions over tiles
- TScore.Widgets Module that contains several widgets
- Tile Tile modules
- Tile.Atom temporal values
- Tile.Functile Functions over tiles
- Tile.QList Timed lists of temporal values
- Tile.TCategories Categorical instances of functions over tiles
- Tile.Tilable Describe elementary functions needed to tile a value type
- Tile.Tile The basic tile data type