Unison's Avatar

Unison

@unison-lang.org.bsky.social

Friendly programming language from the future Open source http://github.com/unisonweb/unison Cloud platform: https://unison.cloud Community: https://unison-lang.org/discord

358 Followers  |  4 Following  |  60 Posts  |  Joined: 06.11.2024  |  1.883

Latest posts by unison-lang.org on Bluesky

Preview
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
Video thumbnail

🎊 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
Eric Torreborre - Shoehorning dependency injection into a FP language - What does it take?
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
Preview
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
Post image

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
Post image

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
Video thumbnail

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
Video thumbnail

πŸ›ŽοΈ 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
Lambda Days 2025 <p>Functional programming is taking KrakΓ³w by storm. Scala, Erlang, Haskell, Elm, Elixir, Lisp and Clojure are scoring points with IT professionals, computer science students and technology geeks.</p>

How could we do dependency injection in Unison? At #LambdaDays, @etorreborre.blog will show how to implement a DI system in Unison using just its effect system!

www.lambdadays.org/lambdadays20...

11.06.2025 18:35 β€” πŸ‘ 10    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0
Post image

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
Preview
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
Martin Odersky on the Future of Scala, Learning, Teaching and the Quest for the Perfect Language
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
zetashift's blog At work I get to deal with codebases that use a variety of programming languages and tooling to make a bunch of stuff in the world of the web. These tools have been battle-tested and they keep getting better. Yet I have this urge to explore alternatives, because I find these type of adventures fun and often educational. And so a while ago, I discovered the programming language Unison. In this post, I'll be sharing my experience learning this new programming language.

A nice experience report post on learning and using Unison:

zetashift.unison-services.cloud/s/blog/posts...


One important note: FFI is next up on the list for Unison runtime work.

03.05.2025 13:00 β€” πŸ‘ 2    πŸ” 2    πŸ’¬ 0    πŸ“Œ 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
Preview
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
Video thumbnail

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
Preview
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
Post image

@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

@unison-lang.org is following 4 prominent accounts