Unified Media Programming: An Algebraic Approach
In this paper, we aim at defining a simple and sound mathematical framework for describing temporal media programming language semantics. It occurs that semigroup theory offers various concepts that are especially well suited for this purpose. As a result, a fairly general programming scheme can be defined in order to specify, compose and render both spatial media objects (e.g. 3D drawings) and timed media objects (e.g. Animation or Music). Each of these constructs is specified in Haskell via an adequate type class definition and an associated uniform data type construct. A simple monoid based semantics model of the turtle command language of Logo is detailed and extended throughout the paper. This allows for providing step by step introductions and usage examples of the algebraic concepts and constructs our proposal is based on.