https://github.com/unisonweb/unison/blob/trunk/unison-hashin...
aha yeah! good question! We have two different types of type declarations, and each has its own keyword: "structural" and "unique". So you can define two different types as as structural type Optional a = Some a | None…
> congrats on the release Thank you! > Unison is among the first languages to ship algebraic effects (aka Abilities [1]) as a major feature. In early talks and blog posts, as I recall, you were still a bit unsure about…
https://www.unison-lang.org/docs/usage-topics/docker/
yeah, unison cloud is like the "heroku for functions" if you wanna not think about how deployments work. But you can just run unison programs standalone or in a docker container or whatever:…
> Unison seems well-designed for this use case because it seems like you could easily run untrusted Unison code without worrying about it escaping its sandbox due to the ability system. (Although this obviously requires…
I think Alvaro's at the Unison conference was a pretty cool demonstration of what you can do with the style of algebraic effects (called "abilities" in unison) https://www.youtube.com/watch?v=u5nWbXyrC8Y He implements…
[flagged]
It's possible that we no longer remember ALL of the evidence we had when we drafted this letter, but the letter links to two first hand accounts of wrongdoing. I also have also talked to multiple other women in the…
we absolutely did this to protect the scala community and we weren't scared and didn't jump the gun. People had been talking about him as being problematic for years before the open letter
This was absolutely not based on hearsay. We made our decision to sign the letter based on direct evidence, not hearsay. The open letter links directly to evidence which is not hearsay.
I signed the letter and I fully stand by everything it says. I have talked to Yifan and I feel sorry for her and believe her. It was well known, and well discussed that women in the scala community knew to warn other…
Yes this is unfortunately a problem that comes up with our current system. We had to solve this early on by distinguishing "unique" types form "structural" types. For types it is obvious that you want to make sure that…
We recently did a series of blog posts exploring how our remote programming model makes us a good fit for writing distributed map - reduce like programs. https://www.unison-lang.org/articles/distributed-datasets/ One of…
for us, A and B are the same Term since they have the same hash, they are just two different alias for that hash, so if you update either, you are effectively updating both. In fact if you had the function: double x = x…
Unison developer here! Let's say you have some term: B = "Hello " and it hashes to #a3yx. Lets say you also have funcion: A = B ++ "world" which hashes to #c7c1 when we store the A function, we actually store it as:…
Yes, we additionally have functions builtin to the runtime that let you evaluate a term before you evaluate it to make sure it doesn't call any "forbidden" functions. So in our cloud runtime, we blacklist EVERY IO…
I'm not totally up to date on lisp and don't know anything about PicoLisp, so forgive me if there is stuff I'm missing :) but lemme try: Lets say you wrote a imaginary program to sum a column in a csv: (defun my-program…
In one of our most recent blog posts we talked about the progress we are making on just-in-time native compilation: https://www.unison-lang.org/blog/jit-announce/ We are expecting to be a monumental speedup for us. We…
Thanks for the reply :) > if it's handled by `Choose.toList` and then `Abort.toOptional` in that order you end up with `Optional [a]` whereas if you do in the other order you have `[Optional a]` right? I mean, not…
It is up to the code handling the abilities to decide in which order to handle the abilities (or to handle them all at once). I can't think of any cases where it would make a difference in which order they were handled,…
The relevant sourcecode is not available, we don't store any source code. All the relevant dependences MUST be availble in AST form though. I don't know what the social and legal issues might possibly be, though I might…
Its certainly a turn-off for some. One thing that we have as a potential future effort would be to enable an alternate surface syntax. Since we store an AST insteead of source code, we could create a parser/pretty…
Yes, we have stack traces. You might see some hashes in the middle of the stack traces, but whenever we do have a name, we'll show you the name. So if you are calling into an anonymous clousure, but functions in your…
(I'm the a Unison employee that works mostly on distributed computing) There are a few things about unison that make this easier: * content addressed code * unison can serialize any closure I can ask for a serialized…
https://github.com/unisonweb/unison/blob/trunk/unison-hashin...
aha yeah! good question! We have two different types of type declarations, and each has its own keyword: "structural" and "unique". So you can define two different types as as structural type Optional a = Some a | None…
> congrats on the release Thank you! > Unison is among the first languages to ship algebraic effects (aka Abilities [1]) as a major feature. In early talks and blog posts, as I recall, you were still a bit unsure about…
https://www.unison-lang.org/docs/usage-topics/docker/
yeah, unison cloud is like the "heroku for functions" if you wanna not think about how deployments work. But you can just run unison programs standalone or in a docker container or whatever:…
> Unison seems well-designed for this use case because it seems like you could easily run untrusted Unison code without worrying about it escaping its sandbox due to the ability system. (Although this obviously requires…
I think Alvaro's at the Unison conference was a pretty cool demonstration of what you can do with the style of algebraic effects (called "abilities" in unison) https://www.youtube.com/watch?v=u5nWbXyrC8Y He implements…
[flagged]
It's possible that we no longer remember ALL of the evidence we had when we drafted this letter, but the letter links to two first hand accounts of wrongdoing. I also have also talked to multiple other women in the…
we absolutely did this to protect the scala community and we weren't scared and didn't jump the gun. People had been talking about him as being problematic for years before the open letter
This was absolutely not based on hearsay. We made our decision to sign the letter based on direct evidence, not hearsay. The open letter links directly to evidence which is not hearsay.
I signed the letter and I fully stand by everything it says. I have talked to Yifan and I feel sorry for her and believe her. It was well known, and well discussed that women in the scala community knew to warn other…
Yes this is unfortunately a problem that comes up with our current system. We had to solve this early on by distinguishing "unique" types form "structural" types. For types it is obvious that you want to make sure that…
We recently did a series of blog posts exploring how our remote programming model makes us a good fit for writing distributed map - reduce like programs. https://www.unison-lang.org/articles/distributed-datasets/ One of…
for us, A and B are the same Term since they have the same hash, they are just two different alias for that hash, so if you update either, you are effectively updating both. In fact if you had the function: double x = x…
Unison developer here! Let's say you have some term: B = "Hello " and it hashes to #a3yx. Lets say you also have funcion: A = B ++ "world" which hashes to #c7c1 when we store the A function, we actually store it as:…
Yes, we additionally have functions builtin to the runtime that let you evaluate a term before you evaluate it to make sure it doesn't call any "forbidden" functions. So in our cloud runtime, we blacklist EVERY IO…
I'm not totally up to date on lisp and don't know anything about PicoLisp, so forgive me if there is stuff I'm missing :) but lemme try: Lets say you wrote a imaginary program to sum a column in a csv: (defun my-program…
In one of our most recent blog posts we talked about the progress we are making on just-in-time native compilation: https://www.unison-lang.org/blog/jit-announce/ We are expecting to be a monumental speedup for us. We…
Thanks for the reply :) > if it's handled by `Choose.toList` and then `Abort.toOptional` in that order you end up with `Optional [a]` whereas if you do in the other order you have `[Optional a]` right? I mean, not…
It is up to the code handling the abilities to decide in which order to handle the abilities (or to handle them all at once). I can't think of any cases where it would make a difference in which order they were handled,…
The relevant sourcecode is not available, we don't store any source code. All the relevant dependences MUST be availble in AST form though. I don't know what the social and legal issues might possibly be, though I might…
Its certainly a turn-off for some. One thing that we have as a potential future effort would be to enable an alternate surface syntax. Since we store an AST insteead of source code, we could create a parser/pretty…
Yes, we have stack traces. You might see some hashes in the middle of the stack traces, but whenever we do have a name, we'll show you the name. So if you are calling into an anonymous clousure, but functions in your…
(I'm the a Unison employee that works mostly on distributed computing) There are a few things about unison that make this easier: * content addressed code * unison can serialize any closure I can ask for a serialized…