Release release/0.5.44 Β· unisonweb/unison
What's Changed
More streamlined output after type checking a scratch file
Fix an issue that was causing a crash in code serialization
Add builtins to efficiently switch between Bytes and BytesArra...
π Unison 0.5.44 is out!
This version has some real treats for devs. Here's what's included:
β¨ New, streamlined workflow for updating code
ποΈ Tab-complete remote project and branch names
π© 30% faster downloads from Unison Share
Full release notes:
30.07.2025 18:54 β π 6 π 1 π¬ 0 π 0
π Tab completion for remote projects and branches on Unison Share is here!
No more typos or flipping to the browser to check spellings. It's a delightful quality-of-life win for Unison devs!
30.07.2025 17:48 β π 4 π 1 π¬ 0 π 0
βοΈ Here's a blog post about mixing `Random` weighted values with the `Each` ability to write data generators in Unison.
Useful for creating data for testing, tutorials, or mocks!
rlmark.unison-services.cloud/s/rebeccasbl...
29.07.2025 18:19 β π 1 π 0 π¬ 0 π 0
YouTube video by LambdaConf
Eric Torreborre - Shoehorning dependency injection into a FP language - What does it take?
My talk about "Shoehorning DI into a FP language" at LambaConf is now available: www.youtube.com/watch?v=_AuF.... Now for the reveal... This approach doesn't scale and I did not realize at the time. Wait for my updated talk at LambdaDays 2025 to discover a much better approach!
01.07.2025 10:47 β π 6 π 1 π¬ 0 π 0
Release v1.1.0 Β· unisonweb/ucm-desktop
This release includes a few small bugfixes and quality of life improvements, but also represents the first release on top of Electron (previously we were using Tauri).
Bug fixes
Improve doc render...
UCM Desktop 1.1.0 is out: github.com/unisonweb/uc...
- Tauri to Electron migration
- Light mode colors in the Finder
- Ensure a definition is scrolled to when opened
- HittingΒ `shift+x` now closes all open definitions
More on the Tauri to Electron migration in π§΅
08.07.2025 19:26 β π 8 π 3 π¬ 1 π 0
Unison 0.5.42 is out, with some big improvements:
* Ability handlers are up to 2-80x faster (See dolio.unison-services.cloud/s/blog/posts...)
* Typo fix suggestions
* And more...
github.com/unisonweb/un...
30.06.2025 15:00 β π 13 π 5 π¬ 0 π 0
Effect handlers are greatβuntil you realize your custom Ability is copying the whole call stack. π¬
Here's Dan Dolio on how Unison recognizes affine handlers and optimizes them:
dolio.unison-services.cloud/s/blog/posts...
25.06.2025 17:30 β π 6 π 3 π¬ 0 π 0
Yeah! We do that in Unison! The unit of meaning in Unison is the function; we don't deal with files or directories since your code is stored as a hash of its implementation and you can rename / move it around freely.
24.06.2025 20:42 β π 1 π 0 π¬ 0 π 0
You can select multiple definitions in `fzf`-enabled multi-argument commands in UCM using the Tab key to toggle selections. This GIF demonstrates using `view` to browse the `data.Map` API from `@unison/base` and pick several update-related functions together. /cc @unison-lang.org
22.06.2025 06:09 β π 3 π 1 π¬ 0 π 0
ποΈ You can now subscribe to project notifications on Unison Share! Stay updated on changes, edits, and new contributions to your projects, all in one place.
This feature is a V1 release, with more integrations to come!
23.06.2025 17:01 β π 6 π 0 π¬ 0 π 0
I recently dropped a bit into @unison-lang.org. They have a new approach to store code and therefore handle dependencies. That was a bit of an eye opener and got me further thinking that handling dependencies correctly should be easier than it is in most languages today..
17.06.2025 20:15 β π 4 π 1 π¬ 0 π 0
Open VSX Registry
π Good news for nonβVS Code users: the Unison LSP is now available via OpenVSX!
Give it a try here:
open-vsx.org/extension/un...
17.06.2025 18:10 β π 5 π 2 π¬ 1 π 0
Yes! Give it a try! π€©
17.06.2025 16:13 β π 1 π 0 π¬ 0 π 0
Been working on an OAuth2 client in @unison-lang.org using an "ability-maximalist" approach for ad hoc polymorphism. Just an experiment, but it is really satisfying to run the code, have it open my browser, have me log into Google and authorize, and then see the rest of auth happen as expected!
01.06.2025 14:31 β π 4 π 1 π¬ 2 π 0
Building Industrial Strength Software without Unit Tests
Unit tests aren't the only way.
Did you know that #Unison Share is a full-featured code-repository and collaboration platform that *doesn't have a single unit test*?
Here's how that works:
chrispenner.ca/posts/transc...
(*spoiler*: it's great!)
@unison-lang.org
03.06.2025 16:57 β π 7 π 1 π¬ 0 π 0
Updated the blog post with a new section about Local Deployments, think this is a really cool feature from @unison-lang.org as well!
28.05.2025 17:19 β π 2 π 1 π¬ 0 π 0
π This is a great walk-through of the process of writing and deploying a project in Unison by @gvolpe.com! Here's to many more! π€©
12.05.2025 23:27 β π 8 π 2 π¬ 0 π 0
YouTube video by Rock the JVM
Martin Odersky on the Future of Scala, Learning, Teaching and the Quest for the Perfect Language
New video, and this time I'm doing something different: a long-form, wide-ranging conversation with none other than
Martin Odersky, the creator of #Scala!
www.youtube.com/watch?v=tmpP...
18.03.2025 16:06 β π 17 π 8 π¬ 0 π 1
Dan's Unison Blog
Recently, some Unison folk noticed that some loops they were running appeared to take time that was quadratic in the number of iterations. This is pretty odd, since it means that each, separate iteration somehow makes the next one more expensive.
π« While Unison warns you about quadratic ability handlers in our latest release, here's Unison's own compiler expert, Dan, on the nature of the problem and how to structure your ability handlers to avoid a quadratic slowdown in the first place.
06.05.2025 13:00 β π 6 π 3 π¬ 1 π 0
π° As a fast follow-on, we've just released UCM 0.5.39 to fix an issue with `Multimap.fromList`
02.05.2025 22:41 β π 0 π 0 π¬ 0 π 0
π«Ά We appreciate you and all your wonderful libraries @kylegoetz.com!
02.05.2025 18:47 β π 4 π 0 π¬ 0 π 0
Release release/0.5.38 Β· unisonweb/unison
What's Changed
Features:
LSP hover info for local bindings by @ChrisPenner in #4969
Maps now decompile as a single call to Map.fromList by @pchiusano in #5658
New support for pattern lookahead, ne...
π° UCM 0.5.38 is here!
β¨ LSP hover info for local terms
πΊοΈ More readable `Map k v` rendering in the console
π― Lookahead/lookbehind support for patterns
π₯ Faster syncs with Share with visible progress
β¨οΈ Better errors for typos in type constructors
β Warnings for possible quadratic handlers
02.05.2025 18:43 β π 7 π 3 π¬ 1 π 0
A challenge we often hear from new Unison devs is around reading function signatures. Our syntax is common to ml-style languages (Haskell, Elm), but it can look intimidating when new to those langs. In this π§΅ I break down the syntax. First up, a function that is used to create an html div. 1/7
29.04.2025 15:16 β π 31 π 11 π¬ 3 π 1
3 things other languages should steal from Unison
Some things other languages should steal from Unison
π We encourage everyone to take inspiration from Unison's core ideas and practices. The more programming languages and tools challenge the status quo, the faster "outlandish" becomes "obviously better." Here's @chrispenner.ca on three things other languages should steal from Unison:
28.04.2025 18:00 β π 13 π 6 π¬ 1 π 0
@unison-lang.org from a #Scala perspective at @scalar-conf.com by Olivier MΓ©lois.
18.04.2025 12:51 β π 6 π 2 π¬ 0 π 0
SystemFw FP blog
SystemFw FP blog
If you've ever wanted to follow the thought process behind implementing distributed transactions in Unison, this blog post by @systemfw is a masterclass in fitting a solution to a complex problem.
systemfw.org/posts/data-o...
17.04.2025 16:01 β π 4 π 2 π¬ 0 π 0
@unison-lang.org coolness: mermaid diagrams generated by code in your docs.
See share.unison-lang.org/@alvaroc1/me... and expand the source (see pic)
06.04.2025 20:16 β π 12 π 2 π¬ 0 π 0
π€© We love to see it! @dfreeman.io has been expanding what's possible for Unison! Check out his work! π±
01.04.2025 15:54 β π 6 π 1 π¬ 0 π 0