Monday, January 23, 2012

First steps in Arrowized FRP

This week Adam started looking at Arrowized FRP by reading The Yampa Arcade by Courtney, Nilsson and Peterson. Initial efforts to apply the framework by implementing a simple bouncing ball simulation proved to be a challenge. Specifically, an attempt at representing the speed and position of the ball as individual signal functions (arrows mapping signals to signals) was unsuccessful. Adam suspects a mutually recursive relation between speed and position led to an infinite loop upon execution. Judging by the patterns presented in The Yampa Arcade, a better approach is to represent the entire state of the simulation as a data type, making this the input and output of a single signal function.

During the coming week, Adam plans to read Functional Reactive Programming, Continued by Courtney, Nilsson and Peterson, in order to get a broader view of the signal function switching combinators provided by Yampa.