Unison code catalog

This page has a catalog of Unison libraries, experiments, and other Unison-related projects. The entries in this catalog can be found using the docs search bar above. If you're working on something in Unison, you can share it here by opening a pull request.

Tag each entry in the catalog with one of the following icons:

  • ๐Ÿงช (tinkering): Just playing around, doing research, or exploring. Possibly still lots of design churn. Might not turn into a "real" library.
  • ๐Ÿ— (pre-release): Basics of the library are in place and you're working on getting a release ready. You might encourage other people to try out these pre-release versions.
  • ๐Ÿšข (released): You've released at least one version of the project. It's recommended that releases follow the conventions in this document.
  • โ›ฐ (super stable): A library that changes rarely and is quite stable.

There's active discussion of new library work in the #hackathon channel on Slack.

This list is in alphabetical order by (user/repo). Each entry has a super brief description in the heading (since headings are indexed by the site-wide search), then a tweet-length blurb about the library which links to the code, then instructions on how to fetch the latest version.

๐Ÿงช atacratic/unison-datetime: Date and time

This one is currently just a design - code is TODO!

๐Ÿšข atacratic/unison-random-mersenne: Pseudo-random number generator using the Mersenne Twister algorithm

This library implements a widely-used PRNG algorithm, giving you a deterministic stream of pseudo-random numbers based on a seed of your choice. Suitable for statistical purposes (e.g. Monte Carlo sampling). To fetch the latest version (v1), do:

pull https://github.com/atacratic/unison-random-mersenne.git:.releases._v1 external.unison_random_mersenne.v1

๐Ÿšข bascott/unison-continuations: Continuations as an ability

This library includes the ability to substitute one computation with another regardless of where you are in your current computation. Includes the implementation of control operators such as callCC. To fetch the latest version (v1), do:

pull https://github.com/bascott/unison-continuations:.releases._v1 external.continuations.v1

๐Ÿšข emiflake/unison-json: Elm-like JSON decoders

This library implements a JSON parser and Decoders to convert JSON values into Unison values using the applicative style. To fetch the latest version (v0), do:

pull https://github.com/emiflake/unison-json:.releases._v0 external.json.v0

๐Ÿ— hojberg/unison-money: Money and Currency

This library is implements a Money type and various functions to work with Money and currencies. To fetch the latest version, run:

pull https://github.com/hojberg/unison-money:.releases._latest external.money

๐Ÿšข runarorama/alt-names : alternate names for definitions in the Base libraries

This very small library adds no definitions or types, only alternate names for things in unisonweb/base. Adds the names Maybe and Option for Optional, compose for (.), among other things.

๐Ÿšข thoradam/unison-read: Parsing / deserialization supporting incremental consumption

This library provides a Read a ability, along with some combinators and handlers, that allow for incrementally consuming some as to produce a result. To fetch the latest version (v0), do:

pull https://github.com/thoradam/unison-read:.releases._v0 external.read.v0

๐Ÿšข unisonweb/base: builtin types and functions, basic data structures, algorithms, and IO

This library includes all builtin functions, basic data structures and algorithms, and IO. To fetch the latest version, do:

pull https://github.com/unisonweb/base:.releases._latest base