Write a Blog >>
ICFP 2019
Sun 18 - Fri 23 August 2019 Berlin, Germany
Fri 23 Aug 2019 14:00 - 14:30 at Stockholm - Games and Graphics Chair(s): April Gonçalves

The use of pure functional languages for interactive applications, especially mobile applications and games, is still rare. Reasons for the infrequent use of pure functional programming in this area include the lack of libraries and frameworks that implement nec- essary features, the lack of support and integration with existing toolchains, and generally the lack of examples of large, non-trivial applications that demonstrate how to best structure interactive programs in a way that is easily scalable in terms of performance and modularity.

In this paper we identify three specific challenges that limit the application of functional programming specifically to mobile apps and games: purity, compositionality, and abstraction. We discuss so- lutions to these problems, and propose a framework for mobile app programming that completely separates logic from IO, resulting in an application architecture that is highly modular, referentially transparent, naturally scalable, backend agnostic and trivial to test. We implement this proposal in SAGE (Simple Application and Game Engine), a collection of libraries that provide higher-level notions needed in commercial applications, like resource management, wid- gets, storing user preferences, audio playing, image rendering, and composable applications, among others. We have verified the suit- ability of this approach by using it to build, in Haskell, six mobile games for iOS and Android.

Fri 23 Aug
Times are displayed in time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

13:30 - 15:00: Games and GraphicsFARM at Stockholm
Chair(s): April GonçalvesRoskilde University, Denmark
13:30 - 14:00
Benedict R. GasterUniversity of the West of England, Nathan RenneyUniversity of West of England, Carinna ParramanUniversity of West of England
14:00 - 14:30
Christina ZellerKeera Studios Ltd, Ivan PerezNIA / NASA Formal Methods
14:30 - 15:00
Joachim BreitnerDFINITY Foundation