4 ms·
So it's just...haskell but different?
by alex_lav 3y ago
So it's just...haskell but different?
- acmiyaguchi 3y agoAs I understand it, part of the value proposition are the features that simplify distributed computation [0]. You define a function, and then you can refer to it by some internet global hash. The packaging reminds me a bit of Val Town, which has been featured here a few times [1]. [0] https://www.unison-lang.org/learn/the-big-idea/ https://www.unison-lang.org/learn/the-big-idea/ [1] https://www.val.town/ https://www.val.town/
- tikhonj 3y agoEven on its own, that's hardly a "just" :P But Unison is a lot more: it has a model that makes distributed computing feel like native code, and a content-addressed code representation system that solves a ton of tooling problems around versioning and deploying code. It's one of the most legitimately novel and powerful language projects I've ever seen, and I'm not saying that lightly.
- HKH2 3y agoI remember when I last used Haskell a few years ago, quite a few packages on Hackage were broken, Cabal was a pain to deal with, and although Stack fixed things, it added to the complexity. I know things have improved since then, but I can't imagine how replacing the build system wouldn't improve things a lot.
- brabel 3y agoIt's completely different except for syntax. Unison does not have monads, it has an effect system they call "abilities", which is quite innovative. Unison code is not stored in "textual" format, but directly in its AST form where everything has a content hash-address which is used to reference things everywhere. That's why they can take any function and send it for execution elsewhere in the cloud or whatever. It's also why there's no build system, and no dependency version conflict. In summary, it's completely different than Haskell and most other languages, all you needed to do was visit the website and read a little bit to know that.
- alex_lav 3y ago> In summary, it's completely different than Haskell and most other languages, all you needed to do was visit the website and read a little bit to know that. I did visit the website, observed an almost identical syntax to Haskell and left. Your comment is in bad faith.