Unison Forall logo mark

Unison Forall 2024

100% remote and free conference in our Discord | September 20, 2024, 10am-6pm EDT

Unison Forall is a full day of talks dedicated to the Unison programming language and ecosystem! Whether you're a seasoned Unison developer or just curious about the future of programming, this conference is a chance to explore the friendly and powerful world of Unison, a language designed from the ground up to simplify modern software development.
Get the swag

A bit about Unison, for the uninitiated

Unison is a general-purpose, statically typed functional programming language in which functions are saved and identified by a hash of their AST, not as text values on a file system. We think this decision has radical consequences and built everything from our code hosting tooling and cloud platform to suit this new programming model. 😎


What to expect at Unison Forall

🌐 Unison on the web

Discover how to build web apps with Unison and Unison Cloud, leveraging the unique capabilities of the language and tooling to power full-stack applications.

💌 Distributed systems

Learn how Unison's support for distributed computing lends itself to better abstractions for topics like event-driven architectures.

🧰 Programming language innovations

Dive into algebraic effects and other wild Unison language features and see how they can lead to cleaner, more elegant code.

📯 Updates and exclusive previews

Get the latest news and updates directly from the Unison team, and find out what's ahead for the Unison ecosystem.


Unison Forall is a community gathering, a celebration of new technical ideas, and a chance to connect with Unison developers from around the world. So, mark your calendar, grab your virtual seat, and join us at Unison Forall! We're excited to see you there!

Schedule (in Eastern time)

10:00 - 10:05am

Opening remarks

Rúnar Bjarnason

10:05 - 10:40am

Full Stack Web Development with Unison, htmx, and Web Components

Make modern web applications with Unison using the "WUH?" stack!

Tavish Pegram

10:45 - 11:20am

How to Learn a Language (without ever using it)

Language parsing is indispensable for software development. It enables various functionalities like syntax checking, code navigation, refactoring, and static analysis. Tree Sitter is a parser generator and incremental parsing library. This talk will cover how parsing a language works and how the Tree Sitter grammar for Unison was written.

Kyle Goetz

11:25 - 12:00pm

Toward a rich and graphical UCM

A look to the future where we'll explore the next progression of the Unison Codebase Manager (UCM): a rich, graphical, and keyboard-driven modern UI. How common tasks like type-checking, project and branch navigation, definition management, and yes, editing, could work in a different setting than the terminal.

Simon Højberg

12:05 - 12:20 PM

15 minute break

12:20 - 12:55pm

UIs in Unison

CLIs and cloud services are right in Unison’s wheelhouse, but often you want to put a GUI in front of the end user. What does that look like in the Unison ecosystem?

This talk will survey approaches to building Unison UIs today, then speculate (wildly!) on what might be possible in the future 🔮

Dan Freeman

1:00 - 1:35pm

Boost your command-line applications with potions!

This talk presents potions, a library for parsing command-line arguments: its features, how Unison is leveraged for its implementation (abilities anyone?) and some of the paper cuts that hurt during its development.

Eric Torreborre

2:05 - 2:35 PM

30 minute break

2:35 - 3:10pm

Busy Beaver Problem

Turing machines are a universal computing model that are very capable. But even they have their limitations. Some functions are uncomputable.

One class of functions is called the busy beaver problem; for a Turing machine of a number of states. How many steps can they take before they halt?

Daan van Berkel

3:15 - 4:15pm

Distributed streaming on Unison Cloud

In this talk we’ll look at the implementation of KLogs, a distributed streaming library built entirely on Unison Cloud.

We’ll start our journey in the beautiful landscape of functional programming APIs, and then take an ability handler to the perilous world of distributed systems, a world where we need fences, leases, shards and view changes to make our system scalable and resilient. We will learn how to implement those standard techniques on Unison Cloud, and then discuss the unique optimisations enabled by its innovative combination of features.

Fabio Labella

4:20 - 4:35 PM

15 minute break

4:35 - 5:10pm

Backpropagation in Unison: A Friendly Introduction

Backpropagation is the backbone of training neural networks, but how does it actually work? In this session, we’ll break down the essentials of backpropagation in a relaxed, approachable way, explaining the core concepts and the intuition behind the math. We’ll conclude with a dive into how to implement backpropagation in Unison.

Gerard Finol

5:15 - 5:50pm

Fun with Actors in Unison

Implementing akka/erlang-style actors/processes in unison. Unison’s “abilities” provide for a very natural and ergonomic experience for using actors. We’ll go through the implementation, live-code some demos, and explore some runtime visualizations.

Alvaro Carrasco

5:55 - 6:05pm

Closing remarks

Paul Chiusano