Alice ✨
banner
welltypedwit.ch
Alice ✨
@welltypedwit.ch
When the limestone of imperative programming has worn away, the granite of functional programming will be revealed underneath -Simon Peyton Jones

https://welltypedwit.ch
every year advent of code brings this really strange experience of watching people spend hundreds of lines of code on what could literally be a one-liner
December 1, 2025 at 10:46 PM
the one thing the whole mutex poisoning thing has definitely made me realize is that an MVar over a persistent data structure is just soo much better than a mutex over a mutable one in the vast majority of situations
November 29, 2025 at 12:19 PM
wisdom from the lens library
November 28, 2025 at 11:24 PM
i wonder if any profanity filter has ever been set off by ghc's "CprAnal" pass
November 27, 2025 at 9:28 PM
i think o figured out why I dislike the concept of "value semantics" so much:
1) the "value" and copying bits are totally irrelevant
2) it's a vague term that can refer to two very different concepts!
November 27, 2025 at 12:27 AM
i may have just found my least favorite haskell post jfc
acetalent.io/landing/Blog...
They are not marks of expressive power, but signs of deep structural compromise. And the fact that most developers accept them as standard practice is precisely the problem.
acetalent.io
November 25, 2025 at 1:05 PM
in a language with parametricity (i.e. where functions cannot do different operations based on the types they're instantiated at), is there ever any possible benefit to monomorphizing *types* (rather than representations) that don't have any type class constraints on them?
November 24, 2025 at 12:28 PM
Reposted by Alice ✨
@welltypedwit.ch I keep forgetting to write this. but returning to the "rust does not have parametricity" fact... I think the way I'd justify (most of) it is that rust doesn't have parametricity in representations (layouts), which makes sense as rust wants to empower you to write "low level" code ->
November 22, 2025 at 8:39 PM
this is a very unfinished idea but i might genuinely add some form of borrowing to vega (although probably not in the way you think)
November 22, 2025 at 9:05 PM
something I really appreciate about some of my favorite languages (haskell, rust, lean) is that they actually try to make things better and to give you good tools that work well.
November 22, 2025 at 3:39 PM
I've had several situations recently where I really wished I could have used vega. I really need to make more progress
November 22, 2025 at 3:32 PM
> Why? To prove that, however the sausage is made, the [AI generated] end product is no worse that what I [..] would have written.

oh I can absolutely believe that
November 22, 2025 at 3:14 PM
Reposted by Alice ✨
The ocaml maintainers are saints for how gracefully they handled this. I would not have the patience they did.
November 21, 2025 at 9:49 PM
oops
November 20, 2025 at 12:11 PM
Reposted by Alice ✨
really shortsighted of the team to not call it .takeDownCloudflare()
November 19, 2025 at 6:20 PM
it's almost like making something that can take down the entire process a single short function call that is literally the easiest way to handle failure wasn't a good idea. who would have thought
November 19, 2025 at 10:38 AM
huh, TIL that haskell had visible foralls before RequiredTypeApplications (but only in kinds)
November 19, 2025 at 12:45 AM
omg how did this break now. the only thing i touched was how **function types** (types!!) are parsed
November 19, 2025 at 12:30 AM
uh oh
November 19, 2025 at 12:26 AM
what kind of idiot would use chainl1 for function types

(i'm the idiot)
November 19, 2025 at 12:22 AM
you know it's kind of unfair that rust usually gets credit for inventing unsafe blocks when C# has had them since *2001*
November 18, 2025 at 1:15 PM
laziness is an extremely important property of the language that comes up all the time and makes it harder to reason about code
Quote-post with your favourite bit of #HaskellDisinformation. We'll start: It is well-grounded in Category Theory, and you must learn it in order to program with the language.
i really wish people that don't actively use haskell understood haskell, like, at all
November 17, 2025 at 9:06 AM
i really wish people that don't actively use haskell understood haskell, like, at all
November 17, 2025 at 4:00 AM
it's so typical that CS wikipedia lists "best case performance" for every algorithm like that's a meaningful metric in any way
November 16, 2025 at 5:12 PM
i've been writing a bit of latex again today and it's... been a really smooth experience where i didn't get annoyed at it once? that's possible??
November 15, 2025 at 10:39 PM