Want to learn and master Unison?

Join Exercism’s Unison Track for access to 45 exercises with automatic analysis of your code and personal mentoring, all 100% free.

Explore exercises

About Unison

helloWorld : '{IO, Exception} ()
helloWorld = 'let
  use Text ++
  name = !console.getLine
  printLine ("Hello " ++ name)

Key Features of Unison


Content addressed

A Unison definition is identified by a hash of its syntax tree. Your code is not just mutable text.


A Unison codebase is stored in an immutable, append only database.


Unison is a statically typed, general purpose functional programming language.

Distributed systems

Describe entire distributed systems in one program. Easily communicate across network boundaries.

Type safe

Capture effectful computations in Unison's type system with algebraic effects


Programming should be joyful. Our tooling and community is here to help.

Get mentored the Unison way

Every language has its own way of doing things. Unison is no different. Our mentors will help you learn to think like a Unison developer and how to write idiomatic code in Unison. Once you've solved an exercise, submit it to our volunteer team, and they'll give you hints, ideas, and feedback on how to make it feel more like what you'd normally see in Unison - they'll help you discover the things you don't know that you don't know.

Learn more about mentoring

Community-sourced Unison exercises

The Unison track on Exercism has 45 exercises to help you write better code. Discover new exercises as you progress and get engrossed in learning new concepts and improving the way you currently write.

See all Unison exercises

Get started with the Unison track

The best part, it’s 100% free for everyone.