Skip to content
Merged
5 changes: 2 additions & 3 deletions config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ taxonomies = [
]

[extra]
skin = "red"
default_theme = "dark"
show_author = true
favicon = "favicon.png"
menu = [
Expand All @@ -18,6 +20,3 @@ menu = [
]
stylesheets = ["highlight.css", "highlight_fix.css"]
enable_csp = false

[markdown]
highlight_code = false
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
+++
title = "Making Flix Compiler Errors Helpful and Delightful"
description = "A tour of the new and improved error messages in the Flix compiler, featuring syntax highlighting, clearer explanations, and actionable suggestions."
date = 2026-01-30
authors = ["Magnus Madsen"]

[taxonomies]
tags = ["language-design", "flix"]
+++

Inspired by Elm's
[Compiler Errors for Humans](https://elm-lang.org/news/compiler-errors-for-humans) and
[Compilers as Assistants](https://elm-lang.org/news/compilers-as-assistants),
we recently took a step back and reworked *every* error message in the Flix compiler.

Here is what you can look forward to in the next version of Flix:

All error messages now have **semantic** syntax highlighting. For single-line errors:
![unexpected argument](unexpected-argument.png)

And for multi-line errors:
![mismatched types](mismatched-types.png)

Simple errors are kept brief:
![duplicate annotation](duplicate-annotation.png)

Whereas complex errors come with explanations and examples:
![missing implementation](missing-implementation.png)

And, when possible, with suggestions for a fix:
![constructor not found](constructor-not-found.png)

For very complex errors, we now give an in-depth technical explanation:
![complex instance](complex-instance.png)

---

That's all for now.

Hope you enjoy our new colors!
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.