The Yampa arcade

Simulated worlds are a common (and highly lucrative) application domain that stretches from detailed simulation of physical systems to elaborate video game fantasies. We believe that Functional Reactive Programming (FRP) provides just the right level of functionality to develop simulated worlds in a concise, clear and modular way. We demonstrate the use of FRP in this domain by presenting an implementation of the classic "Space Invaders" game in Yampa, our most recent Haskell-embedded incarnation of FRP.

[1]  Conal Elliott,et al.  An Embedded Modeling Language Approach to Interactive 3D and Multimedia Animation , 1999, IEEE Trans. Software Eng..

[2]  Magnus Carlsson,et al.  Fudgets - Purely Functional Processes with applications to Graphical User Interfaces , 1998 .

[3]  Henrik Nilsson,et al.  Functional reactive programming, continued , 2002, Haskell '02.

[4]  Michael Hanus,et al.  Functional and Declarative Programming in Education 2002 , 2002 .

[5]  Paul Hudak The Haskell School of Expression: Learning Functional Programming through Multimedia , 1999 .

[6]  Henrik Nilsson,et al.  Functional automatic differentiation with dirac impulses , 2003, ICFP '03.

[7]  Marinus J. Plasmeijer,et al.  Interactive Functional Objects in Clean , 1997, Implementation of Functional Languages.

[8]  Ross Paterson,et al.  A new notation for arrows , 2001, ICFP '01.

[9]  Conal Elliott,et al.  Functional Implementations of Continuos Modeled Animation , 1998, PLILP/ALP.

[10]  Antony Courtney,et al.  Genuinely Functional User Interfaces , 2001 .

[11]  Christoph Lüth Haskell in Space , 2003, J. Funct. Program..

[12]  Meurig Sage FranTk - a declarative GUI language for Haskell , 2000, ICFP '00.

[13]  Paul Hudak,et al.  Arrows, Robots, and Functional Reactive Programming , 2002, Advanced Functional Programming.

[14]  John Hughes,et al.  Generalising monads to arrows , 2000, Sci. Comput. Program..

[15]  Marko C. J. D. van Eekelen,et al.  Guaranteeing Safe Destructive Updates Through a Type System with Uniqueness Information for Graphs , 1993, Dagstuhl Seminar on Graph Transformations in Computer Science.

[16]  Paul Hudak,et al.  Functional reactive programming from first principles , 2000, PLDI '00.

[17]  Antony Courtney Functionally Modeled User Interfaces , 2003, DSV-IS.

[18]  Paul Hudak,et al.  Functional reactive animation , 1997, ICFP '97.