š
'Tis the season
Join us as we learn and enjoy the holiday spirit together.
This December, we invite you to tackle this yearās Advent of Code puzzles using the Unison programming language! Itās a great opportunity to explore a unique language and connect with a friendly community of developers. Hereās a bit more about Unison and how you can join in.
Unison is a statically typed functional programming language that reimagines how code is saved, shared, and executed. It might look familiar for folks who are fans of Python's whitespacing rules or who are familiar with ML-style languages:
myResult : Nat
myResult = Nat.range 0 10
|> List.map (x -> x + 100)
|> List.filter isEven
|> List.foldLeft (acc n -> acc * n ) 1
But unlike traditional languages, Unison assigns a unique hash to every definition based on its content. Your code is saved programmatically by its hash, not as a bag of text on the file system.
Because of this core difference, Unison can provide a seamless developer experience for managing dependencies, deploying and running code, and scaling applications in distributed systems.
Check out what Unison Code looks like in our at-a-glance guide.
Unison's dedicated Advent of Code template project is just one of the tools and libraries we've written so coding involves less context-switching. With this template, you can:
No need to hop between tools or juggle filesāour goal with Unison is to simplify the development process.
Start programming with the Unison AdventOfCode Template project.
Dive into thoughtfully crafted solution write-ups and Unison Docs from past participants, or write your own. In Unison, documentation is code. You can include typechecked, running code in your docs.
Check out some highlights from 2023 and 2022 and help us continue the tradition of sharing what you learn.
Looking for tips or help? Join our Advent of Code community channels:
96155-309fe9eb
.Download Unison and brush up on your puzzle-solving skills. Weāre excited to have you join us in making this Advent season one to remember.