The Unison language – a new approach to Distributed programming
61–70 of 116 posts
Re: The Unison language – a new approach to Distributed programming
#62That is the perfect programming language landing page. The Hello World example introduces one of their concepts that you might not see every day, then they show a little algorithm, then a practical "stuff you need to get work done" example. I got an immediate sense that the language has some familiar "ML family" type features (like F# or Scala) but also some distinctive aspects.
Re: The Unison language – a new approach to Distributed programming
#63I think they are making a mistake that's common in this sort of project: trying too many new things at once! They already have a very innovative way of managing source code, with a database of definitions that keeps the hash of the syntax tree instead of actual source. That's a very neat idea that solves many problems (read their docs to understand why). But instead of developing that well enough so that it works wit…
The two areas of managing source code and distributed computing are not as disjunct as you make them in the context of Unison. They follow from the underlying principle of addressing functions not by their name but by a hash of their normalized syntax tree (ie their code). There are a bunch of cool implications for distributed computing, namely that you can easily distribute fine grained parts of your application acr…
The first time the language or compiler changes such that the same code generates a different syntax tree they'd have to do something pretty fancy to avoid rebuilding the world. (That, plus all the usual caveats about what happens when old hash algorithms meet malicious actors from the future.)
Re: The Unison language – a new approach to Distributed programming
#64Re: The Unison language – a new approach to Distributed programming
#65Re: The Unison language – a new approach to Distributed programming
#66Re: The Unison language – a new approach to Distributed programming
#67Earlier quoted context omitted.
Well, there is a relationship. The relationship is specifically that Unison nodes can communicate code with one another unambiguously by exchanging hashes.
Would this not work just as well with a lisp or even JS?
Re: The Unison language – a new approach to Distributed programming
#68Earlier quoted context omitted.
The two areas of managing source code and distributed computing are not as disjunct as you make them in the context of Unison. They follow from the underlying principle of addressing functions not by their name but by a hash of their normalized syntax tree (ie their code). There are a bunch of cool implications for distributed computing, namely that you can easily distribute fine grained parts of your application acr…
> They follow from the underlying principle of addressing functions not by their name but by a hash of their normalized syntax tree (ie their code). The first time the language or compiler changes such that the same code generates a different syntax tree they'd have to do something pretty fancy to avoid rebuilding the world. (That, plus all the usual caveats about what happens when old hash algorithms meet malicious…
Re: The Unison language – a new approach to Distributed programming
#69An answer to the question "what useful thing has been build with Haskell"?
- pandoc: convert (almost) any document format to (almost) any other document format
- The Elm Compiler: Possibly the most widely used statically typed pure frontend language
- XMonad: A tiling window manager for linux that I enjoyed using even without knowing much Haskell
- Purescript: the other widely-used (for an FP language) statically typed pure compile-to-javascript language
Re: The Unison language – a new approach to Distributed programming
#70Earlier quoted context omitted.
> They follow from the underlying principle of addressing functions not by their name but by a hash of their normalized syntax tree (ie their code). The first time the language or compiler changes such that the same code generates a different syntax tree they'd have to do something pretty fancy to avoid rebuilding the world. (That, plus all the usual caveats about what happens when old hash algorithms meet malicious…
(Unison Developer here), yes we've done two such migrations this year. It has typically meant that we have an "are you ready to upgrade" message when you start up and the migration took less than a minute on my pretty large codebase. It's not a big deal