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
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
how to realize you've accidentally clicked on the american version of a medical company's website: there is a big "shop online" button right in the center
November 15, 2025 at 2:26 PM
some people think that it's impossible to find a job using functional languages that doesn't involve either blockchain or ai bullshit, but that's not true!
you can also build weapons for the US government
November 14, 2025 at 11:16 PM
you would think "you can do functional programming without destroying all your time complexities with completely useless linked lists" would be a trivial position
November 14, 2025 at 12:53 PM
i really think you should reconsider some things if a core part of your identity is liking a programming language that you're not even directly involved in
November 14, 2025 at 9:02 AM
SURELY this change that barely even touched the type checker and didn't actually change anything in the surface language didn't break anything, right?

(how do people write compilers without tests omg)
November 13, 2025 at 9:33 PM