Sign in

iiinova is part of the Atmosphere — an open, public network where you own your identity.

Simon

@hojberg.xyz
331 followers 367 following 85 posts

Front-End @unison-lang.org (Leading UCM Desktop and Unison Share) github.com/hojberg Web: hojberg.dev Writing: programming-is-collaboration.com Dance more!

PostsRepliesMedia
Simon @hojberg.xyz · 29/04/2025
Here we return a thunk that uses the IO and Exception abilities which in turn returns Unit indicated by the 2 parens (). This specific signature is the signature of a runnable Unison function. 6/7
The Unison signature: `myMain: '{IO, Exception} ()` which includes a thunk.
130 3
Simon @hojberg.xyz · 29/04/2025
Abilities is a unique feature of Unison. It's how we model effectful code. Read more here: www.unison-lang.org/docs/fundame... 5/7
The Unison type signature: `helloWorld : HttpRequest ->{Exception, Log} HttpResponse` which include Abilities
130 3
Simon @hojberg.xyz · 29/04/2025
Lambda arguments work with type variables too 4/7
The Unison signature `List.map : (a -> b) -> [a] -> [b]` which includes type variables and a lambda argument
130 3
Simon @hojberg.xyz · 29/04/2025
Signatures can have type variables (generics). Here's a breakdown of the `Map.insert` function, which simply adds a new element to a map. 3/7
150 5
Simon @hojberg.xyz · 29/04/2025
Functions can of course accept lambda arguments. Here's `Text.map`, which allows consumers to map over each character in a `Text`. 2/7
160 6
Simon @hojberg.xyz · 29/04/2025
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
33111 31
Simon @hojberg.xyz · 19/02/2025
Also earlier when playing around with the particle effects and doing some debugging I got quite a fun effect by accident:
200 2
Simon @hojberg.xyz · 19/02/2025
Here's my latest view transition experiement on hojberg.xyz
130 3
Simon @hojberg.xyz · 10/12/2024
Just finished adding light-mode to the UCM Desktop pre-release. Get it here: github.com/unisonweb/uc... cc @unison-lang.org
The UCM Desktop app in light-mode.
1123 12
Simon @hojberg.xyz · 05/12/2024
Finally got around to adding support for light mode and switching between themes in UCM Desktop /cc @unison-lang.org — this is not yet in the pre-release, but will be very soon (still tweaking the styling).
171 7
Simon @hojberg.xyz · 26/11/2024
@chriskrycho.com Here's a Figma mock of where we're planning on ending up, good vertical alignment and all :)
120 2