Live data from Hacker News

Unison – A statically-typed purely functional language

github.com

1–10 of 26 posts

Re: Unison – A statically-typed purely functional language

#2
> Unison is a new programming language, [...] similar to Haskell, but with a unique ability to describe entire distributed systems with a single program.

Is this not something that could be done in Haskell by defining a new monad type? Perhaps also a tool to deploy such programs to the cluster would be useful. It seems to me that this paradigm doesn't require a whole new programming language, or that it wouldn't be as ergonomic in Haskell.

Re: Unison – A statically-typed purely functional language

#4
post #2

> Unison is a new programming language, [...] similar to Haskell, but with a unique ability to describe entire distributed systems with a single program. Is this not something that could be done in Haskell by defining a new monad type? Perhaps also a tool to deploy such programs to the cluster would be useful. It seems to me that this paradigm doesn't require a whole new programming language, or that it wouldn't be a…

It seems like that is part of the plan, e.g.:

The nodes being provisioned are all local nodes, running in the same node container. Obviously we’d like to provision nodes running on other computers, or provision from a managed cloud service (like unison.cloud, coming soon) and/or a P2P mesh of nodes.

(From: http://unisonweb.org/2016-10-12/search.html)

And further down on the original linked page there's some more info on something it's using for the distributed system description that I don't believe would be possible in Haskell:

This dynamic transfer / deployment of arbitrary computations is possible because definitions in Unison are identified by a cryptographic hash of their content, including the hashes of all dependencies (the hash is also "nameless" as it isn't affected by naming of variables). ...

I've been watching the project a bit here and there and it has a number if interesting aspects to it For another example, check out the 'semantic editor': http://unisonweb.org/2016-03-16/semantic-vs-text.html

Re: Unison – A statically-typed purely functional language

#9
post #2

> Unison is a new programming language, [...] similar to Haskell, but with a unique ability to describe entire distributed systems with a single program. Is this not something that could be done in Haskell by defining a new monad type? Perhaps also a tool to deploy such programs to the cluster would be useful. It seems to me that this paradigm doesn't require a whole new programming language, or that it wouldn't be a…

It sounds like the cloud monad defined by MBrace for F# : https://lenadroid.github.io/posts/fsharp-cloud-monads-part-1...

Re: Unison – A statically-typed purely functional language

#10
Love this idea:

> This dynamic transfer / deployment of arbitrary computations is possible because definitions in Unison are identified by a cryptographic hash of their content, including the hashes of all dependencies (the hash is also "nameless" as it isn't affected by naming of variables).

> To transfer a computation, we send it to the recipient, and the recipient checks to see if the computation references any unknown hashes. Any unknown hashes are synced to the recipient before the transfer completes and the computation proceeds.

Previous discussion (2015):

https://news.ycombinator.com/item?id=9512955

Post reply on HN