Hacker News new | ask | show | jobs
by rklaehn 2004 days ago
https://www.unisonweb.org/

Functional programming language where the canonical representation is a content-addressed directed acyclic graph.

Solves all kinds of problems from dependencies to deployment and moving code between nodes in a principled way.

The language itself is inspired by haskell, but has a principled and clean solution to the coloured function problem of async programming, and a simpler way to compose effects than monad stacks.

1 comments

Interesting! Deno's official module registry stores immutable tagged versions of open-source projects, but there's a project called Nest.land[1] that takes the immutability one step further by putting modules on the arweave[2] blockchain.

I'm not sure where the JS standardization process is at with import integrity checks for non-script-tag imports, but Deno has lock files and integrity checking built in.[3]

I like the idea of a language that's built with content addressing from the ground up. I dream of being able to import IPFS urls (or something like that) directly within JS. Although that wouldn't be as good as a language that forced usage of content-addressed imports, since that way you don't have to scour the code for any sneaky dynamic imports (especially since in JavaScript there's `eval` and the like, and they can be obscured).

I guess this is partially solved by Deno's ability to limit the network requests to specific domains like:

    deno run foo.js --allow-net=deno.land,foo.com
I'll definitely be keeping an eye on this project - thanks for sharing!

[0] https://deno.land/x

[1] https://nest.land/

[2] https://www.arweave.org/

[3] https://deno.land/manual/linking_to_external_code/integrity_...