So maybe we should be vibe coding in C to be consistent in our use of UB throughout the abstractions π
08.02.2026 21:47 β π 1 π 0 π¬ 0 π 0@basilehenry.bsky.social
I like making games, learning about type theory and hacking on hardware. I'm also passionate about food and coffee! β he/him
So maybe we should be vibe coding in C to be consistent in our use of UB throughout the abstractions π
08.02.2026 21:47 β π 1 π 0 π¬ 0 π 0Probably a rhetorical "what" π€
It basically says that `[a]` is equivalent to a function `Int -> a`.
It's effectively the indexing function. If you want to set a value in the "array", you create a new function that checks if the input is the index you're setting and use the old function otherwise.
Lots of GADTs when writing Clash Haskell π
clash-lang.org
"Linux in the Kernel" π How dare they! π
10.12.2025 08:25 β π 9 π 0 π¬ 0 π 0That is a pretty bad error message π
I assumed the Generic instance was a given and was already reaching for orphan instances to explain the lack of import
bsky.app/profile/basi...
Maybe you're also supposed to derive Generic for that type in the shame module (so it's not an orphan instance), and that would force you to add the import π€
09.12.2025 00:30 β π 0 π 0 π¬ 0 π 1Ouch π¬ That would make sense to me for TemplateHaskell generated code, but for this type of instance deriving/default impl it feels like the extension should manage its own imports π
09.12.2025 00:20 β π 0 π 0 π¬ 1 π 0M1 not in scope is weird π€ missing a language extension?
08.12.2025 21:44 β π 1 π 0 π¬ 1 π 0I don't know how much AI they ended up using, but watching some of their dev talks a while ago they had some really impressive procedural generation using advanced ML techniques (i.e. AI), it really didn't strike me (at that time) like the plagiarism machine you hear about in more recent game dev π€·ββοΈ
30.11.2025 17:01 β π 1 π 0 π¬ 0 π 0Nice example! π
24.11.2025 16:30 β π 1 π 0 π¬ 0 π 0I mean yeah theoretically π
It's a practical approach, and I'm struggling to find ways to exploit it to create a function that would do radically different things for different types π€
There might be some tricks where you detect the type using broken `==` for NaN, but that's also the case in Haskell
I think it might depend if you have "magic" (no constraints) type classes Γ la Elm for things like `==`, `+`, or `>=` π€
24.11.2025 14:31 β π 1 π 0 π¬ 1 π 0That's probably the most reliable method (especially since the source path could be generated from nix)!
I guess I'm not trusting my AI enough to do the run build step for me yet π
That's much better! π What's the workflow like? Does it get the hash locally?
18.11.2025 15:15 β π 0 π 0 π¬ 1 π 0It'd be impressive if AI could guess the hashes π
18.11.2025 15:10 β π 0 π 0 π¬ 1 π 0Maybe the lock file could keep the previous version info π€ Then for this specific issue, I don't think you need a full compilation of the previous version, only a way to track the impls back to the previous version (if they exist)
21.10.2025 11:21 β π 0 π 0 π¬ 0 π 0It feels like the type of issue that could be fixed automatically (annotate using the impl pre-upgrade) π€
21.10.2025 10:59 β π 1 π 0 π¬ 1 π 0How else would you know that the bread is Not a a Number π
27.05.2025 10:19 β π 3 π 0 π¬ 0 π 0O(n^2) for a naive compiler, O(1) for a decent compiler even with non-const n. With that inner loop's body, a good compiler could rewrite the snippet:
total = n*n
Although this assumes `n` is positive and has to consider `total`'s overflow semantics, which may not be reasonable in some languages π
Now we need a language where escaping a newline character is an alternative way to input the 'n' character π
17.05.2025 20:26 β π 2 π 0 π¬ 0 π 0Wordle 1,421 3/6
β¬β¬π©π¨π¨
β¬β¬β¬π©π¨
π©π©π©π©π©
Got lucky with my 2 starting words π
Maybe you're supposed to do a Copenhagen style left turn π€
10.05.2025 14:20 β π 0 π 0 π¬ 1 π 0I think it's mostly cursed π
NamedFieldPuns is the more practical option in my opinion
Make invalid states representable!
18.03.2025 19:32 β π 7 π 0 π¬ 0 π 0Thanks for the blog post! It is difficult to find nuance nowadays, so your insight and knowledge is both welcome and valuable π
08.02.2025 16:17 β π 0 π 0 π¬ 0 π 0Does GHC actually care about the location of the file? Isn't it a restriction of cabal that they need to match?
06.01.2025 18:48 β π 1 π 0 π¬ 0 π 0Often modern vinyls come with a code to download the mp3s, so if you buy the vinyl first you don't need to buy the mp3s π
25.12.2024 21:08 β π 0 π 0 π¬ 0 π 0For that kind of money you could get a $55,000 wedding every single day for 30 years π
23.12.2024 08:27 β π 1 π 0 π¬ 0 π 0Is that to avoid orphan rule related issues? π€
What's the solution then to avoid competing interface function definitions that are in scope? Or worse, different definitions available in different scopes that a value moves between (e.g HashSet and different hash functions)?