Research Literature
The following research papers cover specific aspects of Flix. They are written for a research audience and not necessarily accessible to the general reader. Flix has evolved significantly since many of these papers were published; the book is the authoritative reference for the current language.
Language Design
- The Principles of the Flix Programming Language
Magnus Madsen @ Onward! 2022
Types and Effects
- Qualified Types with Boolean Algebras
Edward Lee, Jonathan Lindegaard Starup, Ondřej Lhoták, Magnus Madsen @ OOPSLA 2025 - Associated Effects: Flexible Abstractions for Effectful Programming
Matthew Lutze, Magnus Madsen @ PLDI 2024 (see Associated Effects) - Fast and Efficient Boolean Unification for Hindley-Milner-Style Type and Effect Systems
Magnus Madsen, Jaco van de Pol, Troels Henriksen @ OOPSLA 2023 - With or Without You: Programming with Effect Exclusion
Matthew Lutze, Magnus Madsen, Philipp Schuster, Jonathan Immanuel Brachthäuser @ ICFP 2023 - Programming with Purity Reflection: Peaceful Coexistence of Effects, Laziness, and Parallelism
Magnus Madsen, Jaco van de Pol @ ECOOP 2023 — Distinguished Paper Award (see Purity Reflection) - Restrictable Variants: A Simple and Practical Alternative to Extensible Variants
Magnus Madsen, Jonathan Lindegaard Starup, Matthew Lutze @ ECOOP 2023 - Relational Nullable Types with Boolean Unification
Magnus Madsen, Jaco van de Pol @ OOPSLA 2021 - Polymorphic Types and Effects with Boolean Unification
Magnus Madsen, Jaco van de Pol @ OOPSLA 2020
Datalog and Fixpoints
- Flix: A Design for Language-Integrated Datalog
Magnus Madsen, Ondřej Lhoták @ OOPSLA 2025 — Distinguished Artifact (see Fixpoints) - Breaking the Negative Cycle: Exploring the Design Space of Stratification for First-Class Datalog Constraints
Jonathan Lindegaard Starup, Magnus Madsen, Ondřej Lhoták @ ECOOP 2023 (see Stratified Negation) - Flix: A Meta Programming Language for Datalog
Magnus Madsen, Jonathan Lindegaard Starup, Ondřej Lhoták @ Datalog 2.0 2022 - Fixpoints for the Masses: Programming with First-Class Datalog Constraints
Magnus Madsen, Ondřej Lhoták @ OOPSLA 2020 - Implicit Parameters for Logic Programming
Magnus Madsen, Ondřej Lhoták @ PPDP 2018 - Safe and Sound Program Analysis with Flix
Magnus Madsen, Ondřej Lhoták @ ISSTA 2018 - From Datalog to Flix: A Declarative Language for Fixed Points on Lattices
Magnus Madsen, Ming-Ho Yee, Ondřej Lhoták @ PLDI 2016 (see Lattice Semantics) - Programming a Dataflow Analysis in Flix
Magnus Madsen, Ming-Ho Yee, Ondřej Lhoták @ TAPAS 2016
Compilation
- Overloading the Dot
Joseph Tan, Magnus Madsen @ CC 2025 - Tail Call Elimination and Data Representation for Functional Languages on the Java Virtual Machine
Magnus Madsen, Ramin Zarifi, Ondřej Lhoták @ CC 2018