Crème de la Crem: Composable Representable Executable Machines
summary
Describes building software architectures by composing state machines using Domain-Driven Design principles, emphasizing modularity and keeping implementation synchronized with graphical representations. Introduces the Crem Haskell library, which uses advanced Haskell type-level features to encode allowed/forbidden transitions and complex domain-specific properties, and can automatically generate graphical diagrams from the representable state-machine implementations.
AI-written summary · about
chapters (14)
- 0:00CREME project intro
- 1:50Event storming basics
- 6:30Event storming to components
- 8:37Doc vs implementation gap
- 10:23Stateful processes & Mealy
- 15:47Mealy machines in Haskell
- 18:58Topology: value vs type
- 22:35Solving compositionality
- 27:13AST for state machines
- 27:57CREME library intro
- 28:17Checkout with CREME
- 34:03Aggregate policy & projection
- 35:09Graphical domain generation
- 36:31Q&A
related talks
34mFinite State Machines for Functional Software Machinery
51mFunctional Programming and Domain Driven Design - a match in Heaven!
20mOn the paradigm of functional programming
36mAbstract Machines for Good
59mHaskell Design Patterns for Genericity & Asynchronous Behavior
41mDeclarative concurrent programming with Chymyst
27mComputation expressions in context
49mFunctional Design Explained
