Function + Action = Interaction
This work addresses a foundational problem in programming interactive systems, offering a more accessible mathematical approach, though it appears incremental in applying existing category theory concepts.
The paper tackles the challenge of designing interactive systems by introducing a category theory framework using lambda calculus, demonstrating its practical application to overcome the difficulty of dividing organically connected subsystems.
This article presents the mathematical background of general interactive systems. The first principle of designing a large system is to _divide and conquer_, 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 difficult to divide. In other words, we cannot apply a framework of set theory to the programming of interactive systems. We can overcome this difficulty by applying a framework of category theory (Kleisli category) to the programming, but this requires highly abstract mathematics, which is not very popular. In this article we introduce the fundamental idea of category theory using only lambda 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 category theory.