Quick answer: In YAML I can’t define a reusable function, and sometimes I wish I could, for example.
Whatever gobbledygook you’re writing to specify how your system works, a programming language is better than a markup file.
HN user
Quick answer: In YAML I can’t define a reusable function, and sometimes I wish I could, for example.
Whatever gobbledygook you’re writing to specify how your system works, a programming language is better than a markup file.
The short version is that a regular corporation is required to operate in a way that maximizes shareholder profits; whereas a public benefit corp is allowed to take other factors into consideration too.
To my understanding nobody was doing that anyway. Especially Mastodon.
The language has "unique" types, meaning they have their own semantic meaning apart from their structure; they get a unique hash (currently implemented by adding a random salt to the hash of the structure, though it might as well be a guid). So "unique" types and "structural" types.
The same question came up for terms, here: https://news.ycombinator.com/item?id=27654045
It produces a name conflict, but (unlike git merge conflicts) these don't prevent any previously written code from running normally. A name conflict only needs to be resolved as a convenience to the next person to try calling the function by that name, and even that next person might not have trouble if the two new functions with the same name have different types. The person just calls the one they mean, and the type-checker uses the one with the type that fits.
Hello, Unison author here.
This is definitely an issue that is real, and is currently a problem, and that we will fix; probably by giving the function author an option to salt the hash of new definitions that have some semantic meaning beyond their implementations (appropriate for most application/business logic). No salt for definitions whose meanings are defined by their implementations (appropriate for most generic "library" functions like `List.map`).
We already make this distinction for data types, but not yet for value/function definitions.
Yes to Maven, and good questions.
Simply put, there is a special recurse opcode.
When you have a cycle in the call graph, they all get hashed together as a single unit; you update them together as a single unit too.
No, but it’s planned; probably in the form of implicit parameters.
I love you. You sound like an awesome parent.
Yeah, phone syncing is not a critical task. Alternative: Finder is currently syncing your phone and you click “Cancel Reboot” for the next 10 seconds if you want. Otherwise your phone sync will be canceled, your computer will restart, and you can restart the phone sync later.
Zing
It just sounded honest. ¯\_(ツ)_/¯
It's mainly just an issue of manpower on our end (we do accept doc contributions, but probably we should be doing it); having fresh reader eyes on it like this is still valuable though.
And the Unison programming language:
Hey; Unison author here—
Definitely appreciate this honest and helpful, specific docs feedback, so thanks for taking the time to put it together. We do want the value of Unison to be straightforward given even a quick skim of the site, so: sorry about the current state, we'll try to improve it. :)
There will be an authorization mechanism for distributed computation; we don’t like arbitrary remote code execution!
Hi folks, I’m one of the authors of Unison (Programming Language). Didn’t expect to see this on HN, but happy to try to answer questions about our pre-alpha-release language :)
They moved/expanded it in the updated physical function row too :-/
I thought a ban on application-specific pricing was core to the idea of net neutrality, whoops.