Unison
@unison-lang.org
Friendly programming language from the future
Open source http://github.com/unisonweb/unison
Cloud platform: https://unison.cloud
Community: https://unison-lang.org/discord
Open source http://github.com/unisonweb/unison
Cloud platform: https://unison.cloud
Community: https://unison-lang.org/discord
Pinned
Unison
@unison-lang.org
· Oct 1
Unison Cloud on your infrastructure
YouTube video by Unison Language
youtu.be
You can now spin up Unison Cloud clusters on your own infrastructure!
✅ Build elastic distributed systems and services in vastly less code
✅ Fast, typed RPC
✅ Deployments in seconds
✅ Free to get started
youtu.be/0sZqI1XoGLY
✅ Build elastic distributed systems and services in vastly less code
✅ Fast, typed RPC
✅ Deployments in seconds
✅ Free to get started
youtu.be/0sZqI1XoGLY
A Unison terminology reminder, for the working dev:
↖️ Dependents: what 𝘶𝘴𝘦𝘴 a given term (where is this thing even called?)
↘️ Dependencies: what is this term 𝘮𝘢𝘥𝘦 𝘧𝘳𝘰𝘮 (how does this code even work?)
Fortunately, Unison Share exposes both in our code browsing UI!
↖️ Dependents: what 𝘶𝘴𝘦𝘴 a given term (where is this thing even called?)
↘️ Dependencies: what is this term 𝘮𝘢𝘥𝘦 𝘧𝘳𝘰𝘮 (how does this code even work?)
Fortunately, Unison Share exposes both in our code browsing UI!
November 5, 2025 at 11:47 PM
A Unison terminology reminder, for the working dev:
↖️ Dependents: what 𝘶𝘴𝘦𝘴 a given term (where is this thing even called?)
↘️ Dependencies: what is this term 𝘮𝘢𝘥𝘦 𝘧𝘳𝘰𝘮 (how does this code even work?)
Fortunately, Unison Share exposes both in our code browsing UI!
↖️ Dependents: what 𝘶𝘴𝘦𝘴 a given term (where is this thing even called?)
↘️ Dependencies: what is this term 𝘮𝘢𝘥𝘦 𝘧𝘳𝘰𝘮 (how does this code even work?)
Fortunately, Unison Share exposes both in our code browsing UI!
🚀 New deep dive: Distributed System Engineering in Unison
In our latest blog post, take a look at the design of the Volturno library: a distributed stream processing engine built atop Unison Cloud.
www.unison-lang.org/blog/volturn...
In our latest blog post, take a look at the design of the Volturno library: a distributed stream processing engine built atop Unison Cloud.
www.unison-lang.org/blog/volturn...
Distributed system engineering in Unison: Volturno · Unison programming language
We look at the design of Volturno, a streaming engine with exactly-once processing, to illustrate why Unison Cloud is a great enabler for distributed systems builders.
www.unison-lang.org
November 4, 2025 at 8:26 PM
🚀 New deep dive: Distributed System Engineering in Unison
In our latest blog post, take a look at the design of the Volturno library: a distributed stream processing engine built atop Unison Cloud.
www.unison-lang.org/blog/volturn...
In our latest blog post, take a look at the design of the Volturno library: a distributed stream processing engine built atop Unison Cloud.
www.unison-lang.org/blog/volturn...
🇳🇱 Welkom! The Unison Dutch meetup is tomorrow!
If you're in the Netherlands, rsvp and say hello to the friendly Unison crew there!🌷
If you're in the Netherlands, rsvp and say hello to the friendly Unison crew there!🌷
Dutch Unison Meetup
Join us for a fun Dutch Unison Meetup where we'll connect, chat, and enjoy each other's company!
www.eventbrite.com
November 3, 2025 at 6:41 PM
🇳🇱 Welkom! The Unison Dutch meetup is tomorrow!
If you're in the Netherlands, rsvp and say hello to the friendly Unison crew there!🌷
If you're in the Netherlands, rsvp and say hello to the friendly Unison crew there!🌷
🔎 As you're writing applications in Unison, you might need to search for a substring (where is this error coming from!?) or numeric literal (who put this magic number in my codebase!?)
Here's a quick workflow video for that using the text.find command:
Here's a quick workflow video for that using the text.find command:
Searching for string literals with text.find
Sometimes you need to search for a string fragment in your codebase, like when debugging an error message. In other languages, you might reach for a tool in your text editor to search for substrings, but in Unison we use the `text.find` command. In this quick demo, I’m using `text.find` to track down a stray SQL statement in an application’s repository tests. Enter `help text.find` in the UCM to learn more.
youtu.be
November 3, 2025 at 5:00 PM
🔎 As you're writing applications in Unison, you might need to search for a substring (where is this error coming from!?) or numeric literal (who put this magic number in my codebase!?)
Here's a quick workflow video for that using the text.find command:
Here's a quick workflow video for that using the text.find command:
🤯 Unison in the browser!?
Dan Freeman's new library, Proscenium, runs Unison code in WebAssembly.
Its companion library, @dfreeman/playbill, contains a walk-through of various features and live examples on Unison Cloud!
Play a game in your browser entirely in Unison; better yet, write your own!
Dan Freeman's new library, Proscenium, runs Unison code in WebAssembly.
Its companion library, @dfreeman/playbill, contains a walk-through of various features and live examples on Unison Cloud!
Play a game in your browser entirely in Unison; better yet, write your own!
@dfreeman/playbill | Unison Share
A walkthrough of building UIs with Proscenium, including several example apps.
share.unison-lang.org
October 28, 2025 at 6:01 PM
🤯 Unison in the browser!?
Dan Freeman's new library, Proscenium, runs Unison code in WebAssembly.
Its companion library, @dfreeman/playbill, contains a walk-through of various features and live examples on Unison Cloud!
Play a game in your browser entirely in Unison; better yet, write your own!
Dan Freeman's new library, Proscenium, runs Unison code in WebAssembly.
Its companion library, @dfreeman/playbill, contains a walk-through of various features and live examples on Unison Cloud!
Play a game in your browser entirely in Unison; better yet, write your own!
📮 New library to start your week: `lib.install` the Telegram library or check it out on Unison Share!
The library features a quickstart to get you up and running using the Telegram API, and also details some of its design decisions, for the curious dev.
The library features a quickstart to get you up and running using the Telegram API, and also details some of its design decisions, for the curious dev.
@chuwy/telegram | Unison Share
Telegram API wrapper
share.unison-lang.org
October 27, 2025 at 4:56 PM
📮 New library to start your week: `lib.install` the Telegram library or check it out on Unison Share!
The library features a quickstart to get you up and running using the Telegram API, and also details some of its design decisions, for the curious dev.
The library features a quickstart to get you up and running using the Telegram API, and also details some of its design decisions, for the curious dev.
📽️ Here's a quick video for anyone just getting started with Unison.
The gist of it: install the UCM, create a scratch file in the right place, and have fun programming!
The gist of it: install the UCM, create a scratch file in the right place, and have fun programming!
Starting the UCM and setting up a scratch file
This video covers the basics of starting the Unison Codebase Manager (UCM) and writing your first bits of Unison code in a scratch file. We walk through: * Installing Unison on your system (Mac, Linux, or Windows) * Starting the UCM in a working directory * Creating .u scratch files and ensuring the UCM is watching for changes Helpful links: * Install Unison here: https://www.unison-lang.org/docs/quickstart/#step-1-install-unison * Get the UCM Desktop app: https://github.com/unisonweb/ucm-desktop/releases * Join the Unison community: https://www.unison-lang.org/discord
youtu.be
October 22, 2025 at 6:19 PM
📽️ Here's a quick video for anyone just getting started with Unison.
The gist of it: install the UCM, create a scratch file in the right place, and have fun programming!
The gist of it: install the UCM, create a scratch file in the right place, and have fun programming!
💖 We love seeing what y'all are building! Keep it up folks!
Another fun project written in @unison-lang.org , deployed to Unison Cloud ⛅🚀
I promise one day I'll work on something more serious, but this will do for now to scratch that #UnisonLang itch 😅
share.unison-lang.org/@gvolpe/gig
I promise one day I'll work on something more serious, but this will do for now to scratch that #UnisonLang itch 😅
share.unison-lang.org/@gvolpe/gig
Unison Share
Explore, read docs about, and share Unison libraries
share.unison-lang.org
October 20, 2025 at 9:08 PM
💖 We love seeing what y'all are building! Keep it up folks!
🇷🇸 Zdravo, svete! If you are in Serbia and you'd like to learn some Unison, head to this local meetup to hear from one of our friendly Unison community members!
LinkedIn Login, Sign in | LinkedIn
Login to LinkedIn to keep in touch with people you know, share ideas, and build your career.
www.linkedin.com
October 17, 2025 at 9:11 PM
🇷🇸 Zdravo, svete! If you are in Serbia and you'd like to learn some Unison, head to this local meetup to hear from one of our friendly Unison community members!
Reposted by Unison
Turns out I needed the `Cache` ability in other projects too, so I released the code I had (plus some modifications) as a library. It's always fun working with @unison-lang.org :)
share.unison-lang.org/@gvolpe/cache
share.unison-lang.org/@gvolpe/cache
Unison Share
Explore, read docs about, and share Unison libraries
share.unison-lang.org
October 17, 2025 at 5:10 PM
Turns out I needed the `Cache` ability in other projects too, so I released the code I had (plus some modifications) as a library. It's always fun working with @unison-lang.org :)
share.unison-lang.org/@gvolpe/cache
share.unison-lang.org/@gvolpe/cache
✅ Our improved code diff view just landed on Unison Share! Featuring:
- Clearer colors and an intuitive UI
- Smart semantic diffs
share.unison-lang.org/
- Clearer colors and an intuitive UI
- Smart semantic diffs
share.unison-lang.org/
October 16, 2025 at 8:45 PM
✅ Our improved code diff view just landed on Unison Share! Featuring:
- Clearer colors and an intuitive UI
- Smart semantic diffs
share.unison-lang.org/
- Clearer colors and an intuitive UI
- Smart semantic diffs
share.unison-lang.org/
<<<<<<<
3-way merge support has landed in Unison!
=======
You can now use familiar git-style merge tools to resolve conflicts between branches.
>>>>>>>
Here's a demo:
3-way merge support has landed in Unison!
=======
You can now use familiar git-style merge tools to resolve conflicts between branches.
>>>>>>>
Here's a demo:
Merge conflict support with git-style tooling
YouTube video by Unison Language
youtu.be
October 7, 2025 at 4:49 PM
<<<<<<<
3-way merge support has landed in Unison!
=======
You can now use familiar git-style merge tools to resolve conflicts between branches.
>>>>>>>
Here's a demo:
3-way merge support has landed in Unison!
=======
You can now use familiar git-style merge tools to resolve conflicts between branches.
>>>>>>>
Here's a demo:
Reposted by Unison
"Building Friendly Services from the Future with Unison" (implementation of a game backend in @unison-lang.org) : kevinhoffman.blog/posts/friend...
Building Friendly Services from the Future with Unison | Kevin Hoffman's Blog
I build some services, APIs, and data code in Unison
kevinhoffman.blog
October 3, 2025 at 8:01 AM
"Building Friendly Services from the Future with Unison" (implementation of a game backend in @unison-lang.org) : kevinhoffman.blog/posts/friend...
You can now spin up Unison Cloud clusters on your own infrastructure!
✅ Build elastic distributed systems and services in vastly less code
✅ Fast, typed RPC
✅ Deployments in seconds
✅ Free to get started
youtu.be/0sZqI1XoGLY
✅ Build elastic distributed systems and services in vastly less code
✅ Fast, typed RPC
✅ Deployments in seconds
✅ Free to get started
youtu.be/0sZqI1XoGLY
Unison Cloud on your infrastructure
YouTube video by Unison Language
youtu.be
October 1, 2025 at 7:39 PM
You can now spin up Unison Cloud clusters on your own infrastructure!
✅ Build elastic distributed systems and services in vastly less code
✅ Fast, typed RPC
✅ Deployments in seconds
✅ Free to get started
youtu.be/0sZqI1XoGLY
✅ Build elastic distributed systems and services in vastly less code
✅ Fast, typed RPC
✅ Deployments in seconds
✅ Free to get started
youtu.be/0sZqI1XoGLY
Reposted by Unison
I 😍 love this. This is 🤩 amazing.
Drop down acess to the dependents. I.e. the locations answering the question on where is this currently viewed function used/called from?
Drop down acess to the dependents. I.e. the locations answering the question on where is this currently viewed function used/called from?
✨ The new dependents view shows everywhere a definition is used, broken down by category, as a separate card in Unison Share and the Unison Desktop app.
Your codebase is a bidirectional graph! You should be able to walk it as such.
Your codebase is a bidirectional graph! You should be able to walk it as such.
September 27, 2025 at 10:23 AM
I 😍 love this. This is 🤩 amazing.
Drop down acess to the dependents. I.e. the locations answering the question on where is this currently viewed function used/called from?
Drop down acess to the dependents. I.e. the locations answering the question on where is this currently viewed function used/called from?
✨ The new dependents view shows everywhere a definition is used, broken down by category, as a separate card in Unison Share and the Unison Desktop app.
Your codebase is a bidirectional graph! You should be able to walk it as such.
Your codebase is a bidirectional graph! You should be able to walk it as such.
September 26, 2025 at 8:01 PM
✨ The new dependents view shows everywhere a definition is used, broken down by category, as a separate card in Unison Share and the Unison Desktop app.
Your codebase is a bidirectional graph! You should be able to walk it as such.
Your codebase is a bidirectional graph! You should be able to walk it as such.
📰 UCM 0.5.49 is out
🔥 Profiling support! Spot program hotspots
± Support for 3-way merge tools
🔢 Builtins for arbitrary precision integers
📚 Better library `upgrade` process for deletions
🎨 Assorted fixes, aliases, & polish
github.com/unisonweb/un...
🔥 Profiling support! Spot program hotspots
± Support for 3-way merge tools
🔢 Builtins for arbitrary precision integers
📚 Better library `upgrade` process for deletions
🎨 Assorted fixes, aliases, & polish
github.com/unisonweb/un...
Release release/0.5.49 · unisonweb/unison
What's Changed
Setting the UNISON_DEBUG variable with TIMING now displays runtimes for individual tests when using test.
Setting the UNISON_DEBUG variable with TESTS now displays names for indi...
github.com
September 25, 2025 at 7:22 PM
📰 UCM 0.5.49 is out
🔥 Profiling support! Spot program hotspots
± Support for 3-way merge tools
🔢 Builtins for arbitrary precision integers
📚 Better library `upgrade` process for deletions
🎨 Assorted fixes, aliases, & polish
github.com/unisonweb/un...
🔥 Profiling support! Spot program hotspots
± Support for 3-way merge tools
🔢 Builtins for arbitrary precision integers
📚 Better library `upgrade` process for deletions
🎨 Assorted fixes, aliases, & polish
github.com/unisonweb/un...
📽️ New to the Unison workflow? We’re making short videos to walk you through the basics.
Follow along here: www.youtube.com/watch?v=QJ1h...
Follow along here: www.youtube.com/watch?v=QJ1h...
Install and upgrade a library dependency
A walk-through of the process for installing a library dependency and upgrading it. * `lib.install` downloads the library into the `lib` namespace. * `ls lib` will show the current dependencies in the project * `upgrade` with no arguments opens up a version picker. Select the old version first, then the new one. Simple changes can be propagated without developer intervention; more complicated upgrades will prompt the UCM to create a branch for the upgrade process and open up the impacted terms in a scratch file. The resolution process follows the standard workflow for updating Unison code, described here: https://youtu.be/8lCDSCm_rGA.
www.youtube.com
September 22, 2025 at 8:45 PM
📽️ New to the Unison workflow? We’re making short videos to walk you through the basics.
Follow along here: www.youtube.com/watch?v=QJ1h...
Follow along here: www.youtube.com/watch?v=QJ1h...
☕️ Our newest side-by-side language guide is for the many programmers who know #Java!
Come on over! The Weather.valueOf(condition).equals("nice!");
www.unison-lang.org/compare-lang...
Come on over! The Weather.valueOf(condition).equals("nice!");
www.unison-lang.org/compare-lang...
Unison for Java devs · Unison programming language
Unison comments are not saved as a part of the function, so they can be used as temporary notes while working, however, they do not persist in the codebase.
www.unison-lang.org
September 18, 2025 at 11:30 PM
☕️ Our newest side-by-side language guide is for the many programmers who know #Java!
Come on over! The Weather.valueOf(condition).equals("nice!");
www.unison-lang.org/compare-lang...
Come on over! The Weather.valueOf(condition).equals("nice!");
www.unison-lang.org/compare-lang...
Reposted by Unison
These articles on algebraic effects will help with intuition too:
@unison-lang.org : www.unison-lang.org/docs/fundame...
Flix: www.relax.software/blog/flix-ef...
@unison-lang.org : www.unison-lang.org/docs/fundame...
Flix: www.relax.software/blog/flix-ef...
Algebraic Effects in Practice with Flix | Relax
Algebraic effects are not just a research concept anymore. You can use them in real software, today. Here's why you'd want to do that, in order of importance.
www.relax.software
September 11, 2025 at 3:52 PM
These articles on algebraic effects will help with intuition too:
@unison-lang.org : www.unison-lang.org/docs/fundame...
Flix: www.relax.software/blog/flix-ef...
@unison-lang.org : www.unison-lang.org/docs/fundame...
Flix: www.relax.software/blog/flix-ef...
Reposted by Unison
It is incredibly liberating in @unison-lang.org to be able to move code around and rename it in libraries without breaking any existing users of that library. 🎉
When functions are moved all dependent functions remain valid and have their new names in client code.
Refactor freely!
When functions are moved all dependent functions remain valid and have their new names in client code.
Refactor freely!
September 4, 2025 at 2:33 PM
It is incredibly liberating in @unison-lang.org to be able to move code around and rename it in libraries without breaking any existing users of that library. 🎉
When functions are moved all dependent functions remain valid and have their new names in client code.
Refactor freely!
When functions are moved all dependent functions remain valid and have their new names in client code.
Refactor freely!
The UCM-Desktop has a new release! Version 1.3.0 is pretty smooth, with new animations and workflow helpers. 🎨
Support for folding cards
Copy formatted source code button
Better card focus indicators
View and copy a definition hash
Get it here:
github.com/unisonweb/uc...
Support for folding cards
Copy formatted source code button
Better card focus indicators
View and copy a definition hash
Get it here:
github.com/unisonweb/uc...
September 3, 2025 at 11:00 PM
The UCM-Desktop has a new release! Version 1.3.0 is pretty smooth, with new animations and workflow helpers. 🎨
Support for folding cards
Copy formatted source code button
Better card focus indicators
View and copy a definition hash
Get it here:
github.com/unisonweb/uc...
Support for folding cards
Copy formatted source code button
Better card focus indicators
View and copy a definition hash
Get it here:
github.com/unisonweb/uc...
🤝 Check out our new side-by-side language pages for Unison! We provide comparisons for syntax and patterns found in other languages and how to accomplish them in Unison.
Here's a snippet from our Python guide. 🐍 More to come!
www.unison-lang.org/compare-lang...
Here's a snippet from our Python guide. 🐍 More to come!
www.unison-lang.org/compare-lang...
September 2, 2025 at 6:21 PM
🤝 Check out our new side-by-side language pages for Unison! We provide comparisons for syntax and patterns found in other languages and how to accomplish them in Unison.
Here's a snippet from our Python guide. 🐍 More to come!
www.unison-lang.org/compare-lang...
Here's a snippet from our Python guide. 🐍 More to come!
www.unison-lang.org/compare-lang...
🌐 New major release of Unison’s HTTP library
Making a bunch of requests to the same host? The new client features connection pooling + keep-alives for efficient connection re-use, plus custom TLS certs support.
Making a bunch of requests to the same host? The new client features connection pooling + keep-alives for efficient connection re-use, plus custom TLS certs support.
HTTP client and server and common types used for both.
share.unison-lang.org
August 28, 2025 at 6:07 PM
🌐 New major release of Unison’s HTTP library
Making a bunch of requests to the same host? The new client features connection pooling + keep-alives for efficient connection re-use, plus custom TLS certs support.
Making a bunch of requests to the same host? The new client features connection pooling + keep-alives for efficient connection re-use, plus custom TLS certs support.
🖥️ UCM Desktop 1.2.1 is out!
Polish for a smoother Unison workflow:
✨ Better light mode contrast (including overlays)
🎯 Clearer focus indicators
⌨️ Keyboard shortcut guide (in Settings)
🖱️ Click cards to focus
github.com/unisonweb/uc...
Polish for a smoother Unison workflow:
✨ Better light mode contrast (including overlays)
🎯 Clearer focus indicators
⌨️ Keyboard shortcut guide (in Settings)
🖱️ Click cards to focus
github.com/unisonweb/uc...
August 25, 2025 at 4:48 PM
🖥️ UCM Desktop 1.2.1 is out!
Polish for a smoother Unison workflow:
✨ Better light mode contrast (including overlays)
🎯 Clearer focus indicators
⌨️ Keyboard shortcut guide (in Settings)
🖱️ Click cards to focus
github.com/unisonweb/uc...
Polish for a smoother Unison workflow:
✨ Better light mode contrast (including overlays)
🎯 Clearer focus indicators
⌨️ Keyboard shortcut guide (in Settings)
🖱️ Click cards to focus
github.com/unisonweb/uc...