— A functional approach to programming robot swarms brings with it well-defined properties that allow for automated concurrency and distributed execution. Further, the particular expressiveness of a pure functional language with first-class closures captures so cleanly certain biologicallyinspired behaviors that program specification often becomes compact enough to allow a programmer to visually inspect the program code for the entire swarm. This benefit comes in contrast to more piece-meal construction methods used to build-up robot software from discrete components. While such programming models capture the engineered structure of a robotic system, the dynamic, decentralized qualities sought after in robot swarms are well-matched by the idioms of functional concurrent programming.
Anthony Cowley, Camillo J. Taylor