Like..I can point Claude at most popular Haskell libraries and prompt it with
Create benchmarks for various core functions and then unroll loops in their implementation so they are faster
and get infinite PRs that speed up code that many companies use.
But should our ecosystem just be low level code of unrolled abstractions? Isnât that antithesis to the whole reason we became Haskellers to begin with?
why did no one before find those hand-rolled optimizations?
why is human-driven performance debugging so cumbersome?
All those point to possible tooling improvements. Itâs easy to complain about AI, but we have work to do if we want to make things fun for humans again.
You seemed to focus in on this out of the context before and after it, so let me spell out my point more explicitly:
Performance optimization is often good but the real thing we are after is Quality for the end user. Performance is definitely easier to measure, which is kind of why it can tempt you off the Quality path. But Performance gains, even big ones in common libraries, can easily be barely impactful to the end user.
(As a P.S. Iâd like to comment on how this is a fun full circle moment for me. Years ago when choosing an effects library, I chose cleff over effectual for precisely these reasons. Both your comments in the cleff âAdvantages over effectfulâ issue and effectfulâs API itself were a little too dripping in Performance Maximalism for my taste. In fact, your benchmark suite is what sold me on cleffâs Performance and made me feel confident using it over effectful for 60fps game logic!)
This ticket reports a possible bug found by an LLM-based code review (details under âProvenanceâ below). I, @sjakobi, have checked it for plausibility, but not verified it in depth.
So I guess the actual work has to be done by others: triage, filter, review.
I think itâs perfectly fine to demand they do that first. Boundaries can be set here by placing the PRs on hold or even close them and ask them to come back once the human is fully convinced and can stand for the change.
I think this behavior falls under âDonât be a meat proxyâ. See Don't be a meat proxy
From a quick look at the Warp PR itâs a bit more unclear to me just how deeply the author understands the change. In the very quick glance I didnât see any super obvious red flags (like the comment quoted above). I think more signals there can be gathered by asking e.g. âwithout using an LLM, could you tell me about the tradeoffs made in these PRs?â
That or some other open ended question. Those cost very little effort to ask, and the answers typically are a great source for green or red flags.
I have not come across this term before I think its great. Iâve been âmeat proxiedâ before and it can be a very frustrating experience.
I think the new skill people need to develop here is when itâs okay to be mostly a proxy, and when itâs time to just dump a prompt into a comment and call it a day.