Fridtjof Siebert 🇪🇺 🎏 🇳🇿

@fridi
19 Followers
76 Following
134 Posts
Having fun designing the Fuzion programming language and implementing tools to run or analyze it. Running. Cycling.
TWITTERhttps://twitter.com/fridi_s
githubhttps://github.com/fridis
linkedinhttps://www.linkedin.com/in/fridtjof-siebert-2999716/

#AdventOfCode Dec 12's puzzle in @fuzion: First thought this is impossible and put it aside, but the input data is so simple that there is no need to check actual present arrangements as long as the total size fits.

The sources on github: https://github.com/fridis/fuzion_aoc/blob/main/2025/12/part2.fz

#AdventOfCode Dec 11's puzzle in @fuzion: I first did not expect simple counting of paths to be sufficient, but with memoization, that worked fine.

The sources on github: https://github.com/fridis/fuzion_aoc/blob/main/2025/11/part2.fz

Five days late with my #AdventOfCode solution in @fuzion After part 1 was super easy, I struggled with the shear amount of work for solving the underspecified system of linear algebra equations in part 2.

But then I found https://www.reddit.com/r/adventofcode/comments/1pk87hl/2025_day_10_part_2_bifurcate_your_way_to_victory/, a very nice idea...

Today's Advent of Code in @fuzion started with a simple part 1: two lines of code after input preprocessing and defining a helper feature to calculate the area of a rectangle.

Part 2 is more tricky, requires checking if a rectangle is contained in a concave polygon.

Advent of Code is getting more challenging: Today's solution in @fuzion declares an orderable feature `pair`, cuircuits are equivalence classes identified by the first box.

And reading comprehension: https://www.reddit.com/r/adventofcode/comments/1ph53x8/2025_day_8_part_1_reading_comprehension/

The sources: https://github.com/fridis/fuzion_aoc/blob/main/2025/08/part2.fz

Yesterday's Advent of Code solution in @fuzion: arrays used instead of lists to avoid quadratic performance. part2 was simpler than part1...

The sources on github: https://github.com/fridis/fuzion_aoc/blob/main/2025/07/part2.fz

St. Nicolas' Advent of Code.bsky in @fuzion required tricky transposing in part 2.

Surprise for me: partial application of operators usually requires '('/')', not here: 'fold1 (if op="*" then * else +)' or even 'fold1 (op="*" ? + : *)'.

sources: https://github.com/fridis/fuzion_aoc/blob/main/2025/06/part2.fz

Today's Advent of Code solution in @fuzion : Instead of testing all the ways two ranges can overlap, just checking if they are completely separate and joining them if not helped a lot. And there is an existential operator ∃!
The source: https://github.com/fridis/fuzion_aoc/blob/main/2025/05/part2.fz

Finally an Advent of Code solution in @fuzion on the same day: Using an array2 2 slots wider and higher helps avoid many special cases. A bit cryptic, but convenient: ||>x,y->... defines a lambda on a tuple and destructures the tuple.

Source: https://github.com/fridis/fuzion_aoc/blob/main/2025/04/part2.fz

Catching up with this year's Advent of Code, here is a fairly concise solution for yesterday's challenge using @fuzion: A recursive function joltage(n,v,l) did the trick for length n, current result v and remaining list l.

The sources: https://github.com/fridis/fuzion_aoc/blob/main/2025/03/part2.fz