Remix.run Logo
shauniel 5 hours ago

Has anyone used this, any cool ideas?

pchiusano 5 hours ago | parent | next [-]

https://www.unison-lang.org/docs/the-big-idea/ might be a good starting point!

For interesting usage - we built Unison Cloud (a distributed computing platform) with the Unison language and also more recently an "AWS Kinesis over object storage" product. It's nice for distributed systems, though you can also use it like any other general-purpose language, of course.

In terms of core language features, the effect system / algebraic effects implementation is something you may not have seen before. A lot of languages have special cases of this (like for async I/O, say, or generators), but algebraic effects are the uber-feature that can express all of these and more.

stewoconnor 3 hours ago | parent [-]

I think Alvaro's at the Unison conference was a pretty cool demonstration of what you can do with the style of algebraic effects (called "abilities" in unison)

https://www.youtube.com/watch?v=u5nWbXyrC8Y

He implements an erlang style actor system, and then by using different handlers for the algebraic effects, he can "run" the actor system, but also optionally make a live diagram of the actor communications.

panic 32 minutes ago | parent | prev [-]

I tried it once, but a core feature I needed (running code asynchronously on a timer) didn't seem to be available in the free version.