Live data from Hacker News

The Unison language – a new approach to Distributed programming

unison-lang.org

61–70 of 116 posts

Re: The Unison language – a new approach to Distributed programming

#61
On a tangential note--do you like this home page as much as I do? It really draws me in as a programmer. I like all the code examples up front, and their mission statement ("A new approach to distributed programming/No more writing encoders and decoders at every network boundary") seems to be quite clear. To me one of the best landing pages I've run across.

Re: The Unison language – a new approach to Distributed programming

#62
post #25

That 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.

Oops I posted something similar to this. Agree completely.

Re: The Unison language – a new approach to Distributed programming

#63
post #49
post #10

I 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…

> 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 actors from the future.)

Re: The Unison language – a new approach to Distributed programming

#67

Earlier 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?

Yes it does work with JavaScript. At yazz that is exactly how we store is code, by the iPfs hash

Re: The Unison language – a new approach to Distributed programming

#68
post #63
post #49

Earlier 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…

(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

Re: The Unison language – a new approach to Distributed programming

#69

An answer to the question "what useful thing has been build with Haskell"?

Here's a couple more that I've found useful over the years:

- 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

#70
post #63

Earlier 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

It's a solved problem technically, certainly, but assuming all of the relevant source code will always be available ignores some social and legal issues.
Post reply on HN