this post was submitted on 01 Dec 2025
51 points (100.0% liked)
Advent Of Code
1199 readers
15 users here now
An unofficial home for the advent of code community on programming.dev! Other challenges are also welcome!
Advent of Code is an annual Advent calendar of small programming puzzles for a variety of skill sets and skill levels that can be solved in any programming language you like.
Everybody Codes is another collection of programming puzzles with seasonal events.
EC 2025
AoC 2025
Solution Threads
| M | T | W | T | F | S | S |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 |
Rules/Guidelines
- Follow the programming.dev instance rules
- Keep all content related to advent of code in some way
- If what youre posting relates to a day, put in brackets the year and then day number in front of the post title (e.g. [2024 Day 10])
- When an event is running, keep solutions in the solution megathread to avoid the community getting spammed with posts
Relevant Communities
Relevant Links
Credits
Icon base by Lorc under CC BY 3.0 with modifications to add a gradient
console.log('Hello World')
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Why are you preferring lambda-case over plain old pattern matching as in the following snippet? I didn't know this language feature existed and I am now curious :)
Thank you for the excellent question. This made me reflect on my coding style and why I actually chose this. Maybe you have noticed, my usage of
LambdaCaseis inconsistent: I didn't use it in the definition offoldRotation. Which happened with some refactorings (You couldn't know that, I didn't tell anywhere), but still.After going through some 'old' code I found that I didn't start using it until early this year. (For context: I started doing Haskell in September 2024) But that may just coincide with me installing HLS.
Anyway, back to the topic: I actually think it's very elegant because it saves re-typing the function name and/or other parameters. It also easily allows me to add further arguments to the function (but only before the last one). In my mind, this is where
LambdaCaseshines.Sometimes I end up refactoring functions because it's very hard to match on multiple arguments using
LambdaCase. I also try to avoid adding arguments in the back, which might bite me later and limits flexibility a lot.Moaaar Backstory
I picked it up in some forum discussion I read where somebody argued that using explicit matches litters the Codebase with re-definitions of the same functions. It makesgrep-ing the source hard. I was easily influenced by this and adopted it.I think this is not the way I like to go about it. I would rather use Hoogle, Haddock or HLS to search in my source.