ICFP 2023
Mon 4 - Sat 9 September 2023 Seattle, Washington, United States
Fri 8 Sep 2023 09:45 - 10:30 at Vashon 1 - FUNARCH Talks #1 Chair(s): Stefan Wehr

In this paper we describe how to build software architectures as a composition of state machines, using ideas and principles from the field of Domain-Driven Design. By definition, our approach is modular, allowing one to compose independent subcomponents to create bigger systems, and representable, allowing the implementation of a system to be kept in sync with its graphical representation. In addition to the design itself we introduce the Crem library, which provides a concrete state machine implementation that is both compositional and representable. Crem uses Haskell’s advanced type-level features to allow users to specify allowed and forbidden state transitions, and to en- code complex state machine—and therefore domain-specific— properties. Moreover, since Crem’s state machines are representable, Crem can automatically generate graphical representations of systems from their domain implementations.

Fri 8 Sep

Displayed time zone: Pacific Time (US & Canada) change

09:00 - 10:30
FUNARCH Talks #1FUNARCH at Vashon 1
Chair(s): Stefan Wehr Offenburg University of Applied Sciences
Functional Programming in the Large - Status and Perspective
C: Michael Sperber Active Group GmbH
Crème de la Crem: Composable Representable Executable MachinesRemote