An important issue in the design of Elody is to propose a novel approach
to the End-User programming problem. Instead of resorting to a separate
programming language, Elody propose a music notation system with built-in
programming capabilities. We call this approach homogeneous programming.
It allows the programming activity to be a direct extension of the composition
activity and lowers the complexity barrier for the novice programmer
by introducing only a very limited set of unfamiliar concepts to the application
domain.
The new concepts added to music notation are essentially those of abstraction
and application of the Lambda-Calculus. Elody propose lambda-abstraction
on musical structures as a fundamental mechanism to represent user-defined
musical concepts and compositional operations. Elody abstractions can be
viewed as generalized musical structures with variable parts. These generalized
musical structures can be edited, visualized, musically composed and manipulated,
and even heard, exactly like any other concrete musical structure.
Combined with Elody direct manipulation user interface this approach allows
to easily experiment and explore abstract and complex musical structures
while promoting a creative attitude.