Concept and Design of Functional Programming for Interactive Art Polyphonic Jump!
This article presents the mathematical background of general interactive systems. The first principle of designing a large system is “divide and rule,” which implies that we could possibly reduce human error if we divided a large system in smaller subsystems. Interactive systems are, however, often composed of many subsystems that are organically connected to one another and thus extremely difficult to divide. In other words, we cannot apply a traditional mechanism of mathematical functions to the programming of interactive systems. We, however, can overcome this difficulty by applying a framework of category theory to the programming, but this requires highly abstract mathematics, which is not very popular. In this article we introduce the fundamental idea of the category theory using only λ-calculus, and then demonstrate how it can be used in the practical design of an interactive system. Finally, we mention how this discussion relates to Kleisli category in mathematics.