this post was submitted on 02 Dec 2024
22 points (100.0% liked)
Nix / NixOS
1831 readers
1 users here now
Main links
Videos
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
@F04118F
If I can make the time, I will. But I know @ellyse is doing it. π π©βπ»
She did one last night live on stream.
https://ohai.social/@ellyse/113482901348671949
@gavin @F04118F yup! thats a link to a 2019 AoC, but here's my video for day 1 this year https://www.youtube.com/live/P/_3rUzAN0vw
the code is here: https://github.com/ellyxir/advent/_of/_code/tree/main/2024/nix/day01
i looked at your solution, good work!
That looks very lispy, is that intentional?
Yes, Nix is a pure functional programming language, like Lisp.
The reason for its existence is to allow for reproducible and repeatable builds of packages and configuration. This is the basis for nixpkgs, NixOS and Home Manager.
Oh, I know; I have commit access to Nixpkgs ;)
I was just commenting on the way they've styled their Nix code here.
Your code looks awesome, I'm definitely going to steal some ideas from that, especially the
lib.pipe
really cleans up a lot of unnecessary bindings I did.Doing a
with import ./utils.nix
is also a lot cleaner than nesting let statements.You can also use the pipe operators; but they are still experimental features.
foo (bar (baz x))
=x |> baz |> bar |> foo
=foo <| bar <| baz <| x
@F04118F which I promptly did away with because I couldnβt be arsed today lol
Nix regex sucks. Is there any package with a reasonable regex matchAll?
@F04118F if itβs for todays advent of code, I used split and it worked fine. See my live steam on YouTube or my GitHub .
Somehow I completely missed that split can do match groups.. Oopsie! I did it in Python today but I did make a completely functional (and way too complicated) algorithm.
Tap for spoiler
The way you handle the do and dont is much cleaner.
@F04118F if i had known about match i probably would have gotten stuck also lol but luckily i used split once before and remembered it :) i made an issue in your github, hope thats ok, just to mention this in case you didnt see it on fedi!
Yeah I was planning on changing the salty README and referencing your comment, thanks for putting the reminder there!