Algorithmic music composition is the most obvious application, but Keynote is really a general-purpose utility. The user interface of a graphical editor has been written entirely in Keynote, and is easily customizable and extensible. Keynote can read and write data in the Standard MIDI File format. The Keynote language has many similarities to the latest version of awk. Variables need not be declared and types are determined by their use.
Operators work on musical phrases in a natural fashion for merging, modification, and selection.
User-defined functions can have arguments and return values of any type. Extra arguments to functions provide local variables. Functions are dynamically loaded when referenced, with path searching. Associative arrays are provided and can be passed by reference to functions. The index of an array can be a musical phrase.