Typed Design Patterns for the Functional Era

1Citations
Citations of this article
8Readers
Mendeley users who have this article in their library.

Abstract

This paper explores how design patterns could be revisited in the era of mainstream functional programming languages. I discuss the kinds of knowledge that ought to be represented as functional design patterns: architectural concepts that are relatively self-contained, but whose entirety cannot be represented as a language-level abstraction. I present four concrete examples embodying this idea: the Witness, the State Machine, the Parallel Lists, and the Registry. Each pattern is implemented in Rust to demonstrate how careful use of a sophisticated type system can better model each domain construct and thereby catch user mistakes at compile-time.

Cite

CITATION STYLE

APA

Crichton, W. (2023). Typed Design Patterns for the Functional Era. In FUNARCH 2023 - Proceedings of the 1st ACM SIGPLAN International Workshop on Functional Software Architecture, Co-located with ICFP 2023 (pp. 40–48). Association for Computing Machinery, Inc. https://doi.org/10.1145/3609025.3609477

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free