Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/spamegg1/advent-of-code-2023-scala

Advent of Code 2023 in Scala
https://github.com/spamegg1/advent-of-code-2023-scala

advent-of-code advent-of-code-2023 adventofcode adventofcode2023 aoc-2023 aoc-2023-in-scala aoc2023 metals scala scala-cli scala3 vscode

Last synced: 21 days ago
JSON representation

Advent of Code 2023 in Scala

Awesome Lists containing this project

README

        

# advent-of-code-2023-scala

# Intro
Happy New Year everyone! :christmas_tree: :santa: :fireworks: :sparkler: :confetti_ball: :tada:

Solving [Advent of Code 2023](https://adventofcode.com/2023/) from December 1 to December 25, 2023, in [Scala](https://www.scala-lang.org/download/).

Using [Scala-cli](https://scala-cli.virtuslab.org/) with [Visual Studio Code](https://code.visualstudio.com/) and [Metals](https://marketplace.visualstudio.com/items?itemName=scalameta.metals) extension.

# Setup
To setup, install Scala, VS Code, Metals, `git` and `scala-cli`. Then

```bash
git clone https://github.com/spamegg1/advent-of-code-2023-scala
cd advent-of-code-2023-scala
scala-cli setup-ide .
code .
```
# Usage
I setup 25 empty worksheets, one for each day. You can use the `main` branch as a "blank template".

## Libraries
I setup this to be a Scala-cli project using the [Scala Toolkit](https://docs.scala-lang.org/toolkit/introduction.html).

For example, for the puzzles that require file input / output, you can use [`os-lib`](https://docs.scala-lang.org/toolkit/os-read-file.html) that comes with the Toolkit.

## Solutions
I will post solutions on the `solutions` branch, keeping the `main` branch empty.