Hacker Newsnew | past | comments | ask | show | jobs | submit | zawodnaya's commentslogin

Yes, unison detects this condition when it occurs and tells you about it.


Or like a whole language to handle them


Unison doesn't have type classes yet, no


The language and all the libraries are open source. The storage layer API is open-source as well though the implementation is proprietary, as is the implementation of other parts of Unison Cloud (like the part that actually hosts your Unison code on AWS).


There is source control on https://share.unison-lang.org/


It’s a binary-encoded merkle tree


It’s bytecode


Does it require a jit then or more like llvm?


The UCM tool propagates the changes for you automatically. It also creates a patch that you can distribute with your release to update any dependents automatically.

If the change can’t be made automatically because it breaks stuff, then UCM guides you through propagating manually.

You’d have to do this manual propagation in any language. Unison is a little nicer about it than most languages, since it just tells you what needs an update (and will suggest an order in which to make the updates) instead of giving you type errors or test failures.


Yeah, Unison doesn’t just infer the types, it will add type signatures automatically to top-level definitions.


This is true, if you write `bracket` for e.g. `Exception`, then you can break out of the bracket with `abort` if your bracket doesn't handle aborts.

So if you want to be really sure of resource cleanup, you should use something like the `Resource` ability to acquire resources:

https://share.unison-lang.org/@runarorama/code/latest/namesp...


Got it. But you're locked into IO and Exception then and can't use any other abilities right? I guess you could always convert back and forth at the `run` boundary.

Also I would suggest removing Exception.bracket from base then, or at least changing the file handle example for Exception.bracket, since it seems a tad dangerous.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: