Unison Advent of Code 2024

šŸŽ„
'Tis the season

Every Advent of Code the Unison community joins together to solve daily programming puzzles. This year is no different.

Join us as we learn and enjoy the holiday spirit together.

šŸŽ„ Season's Greetings, Programmers! šŸŽ„

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.

What makes Unison different?

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.

Kick Off with the Unison Advent of Code Template

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:

  • Authenticate with the Advent of Code platform and download your puzzle inputs
  • Solve and submit puzzles directly within the Unison Codebase Manager and your IDE

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.

Collaborate and Share

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:

Ready to Start?

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.