FUNARCH 2023
who it's for
functional programmers, software architects, Haskell developers, programming language researchers, library and framework authors, systems engineers, GUI developers
topics
module systems for architecture; pure core with effectful edge; combinator libraries and design recipes; property based testing; type level state machines; composable observables for GUIs; GHC layering and refactoring; coarse grained self-adjusting computations; Day convolution multiphase encoding; registry pattern with TypeId keys; extensible ADT type pattern; typed topology and Crem library
| title | author | length |
|---|---|---|
| Functional Programming in the Large - Status and Perspective | Michael Sperber | 45m |
Argues that large‑scale functional know‑how remains folklore and largely absent from mainstream software architecture, reports practical experience… | ||
| Crème de la Crem: Composable Representable Executable Machines | Marco Perone, Georgios Karachalias | 37m |
Describes building software architectures by composing state machines using Domain-Driven Design principles, emphasizing modularity and keeping implementation… | ||
| Functional Shell and Reusable Components for Easy GUIs | D. Ben Knoble, Bogdan Popa | 31m |
Claims that GUI Easy (a small Racket library) replaces tangled OO GUI state with composable observables and views and that it scales from tiny utilities to the… | ||
| Stretching the Glasgow Haskell Compiler: Nourishing GHC with Domain-Driven De... | Jeffrey M. Young, Sylvain Henry, John Ericson | 51m |
Analysis of the Glasgow Haskell Compiler finds concrete anti-patterns: shotgun parsing — ad hoc runtime predicates (about 56 occurrences counted) that… | ||
| A Software Architecture Based on Coarse-Grained Self-Adjusting Computations | Stefan Wehr | 42m |
A commercial health-record pipeline implements coarse-grained self-adjusting computations in Haskell to push precomputed UI models to web and mobile clients… | ||
| Phases in Software Architecture | Jeremy Gibbons, Donnacha Oisín Kidney, Tom Schrijvers, Nicolas Wu | 48m |
Argues that multi‑phase program structure is captured by an applicative functor encoding phases, uses Day convolution to compose two‑phase and iterated… | ||
| Typed Design Patterns for the Functional Era | Will Crichton | 44m |
Argues that some recurring system designs resist being encoded purely as libraries and shows four Rust encodings: Witness, State Machine, Parallel Lists… | ||
| Types that Change: The Extensible Type Design Pattern | Ivan Perez | 37m |
Defines an extensible type design pattern: an ADT parameterized by a type-function applied to every field so instantiations can be identity, Either String for… | ||
| nothing matches | ||