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!
Talks & Speakers
Busy Beaver Problem
Daan van Berkel
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?
Full Stack Web Development with Unison, htmx, and Web Components
Tavish Pegram
Make modern web applications with Unison using the “WUH?” stack!
UIs in Unison
Dan Freeman
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 🔮
Boost your command-line applications with potions!
Eric Torreborre
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.
Toward a rich and graphical UCM
Simon Højberg
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.
Distributed streaming on Unison Cloud
Fabio Labella
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.
Fun with Actors in Unison
Alvaro Carrasco
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.
How to Learn a Language (without ever using it)
Kyle Goetz
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.
Backpropagation in Unison: A Friendly Introduction
Gerard Finol
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.