Hi folks! We've just released milestone M1l of the the Unison Codebase Manager (thequickstart guidehas install instructions), which focused on essentials for ecosystem growth, specifically: guidance and tools for structuring your own libraries and contributing to others.
A Slack channel to talk about Unison libraries you're working on
Rúnar has started#hackathonon theUnison Slack,as a place to talk about Unison libraries you're working on, find collaborators, and compare notes. He's also started streaming Unison live-coding sessions! Check out rerunson Twitch,or join#hackathonto chat about the next one.
Organizing your codebase
We've had our first few PRs to
unisonweb/base,which has been been rewarding, and also forced us to sit down and figure out what a nice process in Unison might look like. So check out the draft docs onhow to organize your codebase.It gives some guidance on how to install new Unison libraries (both "released" and pre-released), doing the day-to-day work of creating, or reviewing and merging pull requests, and how to publish a release of your own.
Publishing a library
Speaking of publishing your own libraries, we are now hosting aUnison code catalogto show off what projects people are working on, or maybe accepting contributions for. As of this writing, we've only listed
unisonweb/base,so please submit your new libraries to the list via PR (until we have an automated solution)! 🙂
You can use the new
create.authorcommand to create
CopyrightHoldervalues to attach, along with your library's
License,as metadata to your published definitions.
As of M1l, you canconfigure the Unison Codebase Managerwith some default metadata to attach to all of your work. You can also associate a default Git url to a given namespace, meaning that with some configuration,
._coolproject> push firstname.lastname@example.org:myorg/coolproject
can become simply:
and similarly for
pull,these commands have been updated to be a bit snappier. The
displaycommands now support suffix-based lookups (we're tracking down all the stragglers that don't!). The runtime now supports more operations on
Nat,and we've fixed a few other whoopsies. (Thanks to @pete-ts, @noahhaasis, @stew, and @atacratic for their PRs!)
Work on the faster new runtime has been humming along, and we plan to release it soon in milestone M2. We'll add better support for the abovementioned proposed codebase organization format to UCM, e.g. good project scoping for commands where it matters, and we're also about to start devoting more resources to the distributed computing libraries. 🚀