Skip to main content

Blog

Notes on the design of Metel

Language-design decisions, release write-ups, and the occasional compiler-internals detour.

language design

Introducing Metel

by Vladislav Parfeniuc8 min read

Metel is an experimental language built around four commitments, roughly in order: compile-time safety, explicitness, expressivity, and — eventually — performance. It brings together ideas from across modern language design — ownership, capabilities, effects, structural types, and explicit allocation — to ask how they can be combined into a single coherent system.

Here is a small taste of the language:

fun main() {
let name := "Metel";
let answer: Perhaps<i64> := Some { value = 42 };
println("${name} says the answer is ${answer.yolo()}");
}

.yolo() is not a typo — more on that name below.