117 pointsby RebelPotatoFeb 8, 2026

13 Comments

InsanityFeb 8, 2026
Post had nothing to do with Haskell so the title is a bit misleading. But rest of article is good, and I actually think that Agentic/AI coding will probably evolve in this way.

The current tools are the infancy of AI assisted coding. It’s like the MS-DOS era. Over time maybe the backpropagating from “your comfort language” to “target language” could become commonplace.

ipnonFeb 8, 2026
Programming languages are most interesting area in CS for the next 10 years. AI need criteria for correctness that can't be faked so the boundary between proof verification and programs will become fuzzier and fuzzier. The runtimes also need support for massively parallel development in a way that is totally unnecessary for humans.
josephcsibleFeb 8, 2026
> Post had nothing to do with Haskell so the title is a bit misleading.

To be fair, that's not part of the article's title, but rather the title of the website that the article was posted to.

InsanityFeb 8, 2026
I know, but that's not typically how you see titles posted here. I'm just disappointed as I enjoy writing Haskell. :)
yoyohello13Feb 8, 2026
I was excited to see a non-AI article on this site for once. Oh well.

It was a good article though

lordgrenvilleFeb 8, 2026
Agreed. This website seems to prepend the blog name to each page's document.title

Would suggest that one of the mods remove it

shevy-javaFeb 8, 2026
Is the article good? I found it of a surprisingly poor quality. Is my assessment incorrect? Basically it is an article that tries to convince people of how relevant AI is nowadays. I don't really see it like that at all and none of the "arguments" I found convincing.
OutOfHereFeb 8, 2026
Agentic coding doesn't make any sense for a job interview. To do it well requires a detailed specification prompt which can't reliably be written in an interview. It ideally also requires iterating upon the prompt to refine it before execution. You get out of it what you put into it.
charcircuitFeb 8, 2026
>which can't reliably be written in an interview

Why not? It sounds like a skill issue to me.

>It ideally also requires iterating upon the prompt to refine it before execution.

I don't understand. It's not like you would need to one shot it.

simonwFeb 8, 2026
How about bug fixing? Give someone a repo with a tricky bug, ask them to figure it out with the help of their coding agent of choice.
zarzavatFeb 8, 2026
In the UK the driving test requires a portion of driving using a satnav, the idea being that drivers are going to use satnavs so it's important to test that they know how how to use them safely.

The same goes for using Claude in a programming interview. If the environment of interview is not representative of how people actually work then the interview needs to be changed.

shashFeb 8, 2026
In the Before Times we used to do programming interviews with “you can use Google and stack overflow” for precisely this reason. We weren’t testing for encyclopaedic knowledge - we were testing to see if the candidate could solve a problem.

But the hard part is designing the problem so that it exercises skill.

adhamsalamaFeb 8, 2026
We don't solve LeetCode for a living yet it is asked in interviews anyway, so nah, we don't have to use AI in interviews.
XenophileJKOFeb 8, 2026
As someone that agenticly codes A LOT. Detailed specs are not required, but certainly one way to use the systems.

If you are going to do a big build out of something, spec up front at least to have a clear idea of the application architectural boundaries.

If you are adding features to a mature code base, then the general order of the day is: First have the Ai scout all the code related to the thing you are changing. Then have it give you a summary of its general plan of action. Then fire it off and review the results (or watch it, less needed now though).

For smaller edits or even significant features, I often just give it very short instructions of a few sentences, if I have done my job well the code is fairly opinionated and the models pick up the patterns well and I don't really have to give much guidance. I'll usually just ask for a few touchups like introdusing some fluent api nicities.

That being said, I do tend to make a few surgical requests of the AI when I review the PR, usually around abraction seams.

(For my play projects I don't even look at the code any more unless I hit a wall, and I haven't really hit a wall since Opus 4.5, though I do have a material physics simulator that Opus 4.5 wrote that runs REALLY slow that I should muck around in, but I'm thinking of seeing if Opus 4.6 can move it to the GPU by itself first.)

So if I were doing an interview with an interview question. I would probably do a "let's break down what we know", "what can we apply to this", "ok. let's start with x" and then iterate quickly and look at the code to validate as needed.

ZakodiacFeb 8, 2026
I agree agents can break flow but I think the bigger issue is they hide too much, not that they're too intrusive.

Most agent tools right now don't give you good visibility into what sub-agents are doing or what decisions they're making. You zoom out, let it run, come back to a mess. Tools like OpenCode and Amazon's CLI Agent Orchestrator are trying to fix this - letting you watch what each agent is actually doing and step in to correct or redirect.

OpenCode actually removed the ability to message sub-agents directly. I get why - people would message one after it finished, the conversation would fork off, and the main orchestrator lost track. But I don't love that fix because being able to correct or pivot a sub-agent before it finishes was genuinely useful. They bandaided a real problem by removing a good feature.

Honestly the model that works best for me is treating agents like junior devs working under a senior lead. The expert already knows the architecture and what they want. The agents help crank through the implementation but you're reviewing everything and holding them to passing tests. That's where the productivity gain actually is. When non-developers try to use agents to produce entire systems with no oversight that's where things fall apart.

So I wouldn't want agent tools to be "calm" and fade into the background. I want full transparency into what they're doing at all times because that's how you catch wrong turns early. The tooling is still early and rough but it keeps getting better at supporting experts rather than trying to replace them.

wazHFsRyFeb 8, 2026
> Honestly the model that works best for me is treating agents like junior devs working under a senior lead. The expert already knows the architecture and what they want. The agents help crank through the implementation but you're reviewing everything and holding them to passing tests. That's where the productivity gain actually is. When non-developers try to use agents to produce entire systems with no oversight that's where things fall apart.

I tried to approach it that way as well, but I am realizing when I let the agent do the implementation, even with clear instructions, I might miss all the “wrong“ design decisions it takes, because if I only review and do not implement I do not discover the “right“ way to build something. Especially in places where I am not so familiar myself — and those are the places where it is most tempting to rely on an agent.

hibikirFeb 8, 2026
With Claude code I live in plan mode, and ask it to hand me the implementation plan at the low level, with alternatives. It's rare for it to not give me good ones: Better than the junior dev. Then the plan it has is already limited enough that, along with its ability to maintain code style, I will see code very similar to what I would have done. There are a couple of things in the .md file to try to make it take a step or two like the ones I would on naming, shrinking the diff, and refactoring for deduplication. It's not going to go quite as fast as trusting it all to work at a large scale, but it sure looks like my code in the end.
ZakodiacFeb 8, 2026
This is real and I deal with it constantly in consulting. When you're running teams of teams you physically can't see every mistake or learn every minor implementation detail - that's just the reality of scaling yourself. Doesn't matter if it's humans or agents doing the work.

The way I handle it is the same either way: trust but verify, delegate appropriately, set up checkpoints, and provide architecture and design direction up front so they don't spin their wheels going the wrong direction. The more context you give before they start, the less likely you end up reviewing something that went completely sideways.

It's kind of funny honestly - we talk about agents making "wrong design decisions" and missing context like it's a new problem, but this is literally what happens with human teams too. We trained these models on human output including all the human failure modes, so of course they reproduce them. The difference is just speed and scale.

wazHFsRyFeb 8, 2026
I have the same feeling recently that we should focus more on using AI to enable us, to empower us to do the important things. Not take away but enhance, boring , clear boilerplate yes, design decisions no. And making reviewing easier is a perfect example of enhancing our workflow. Not reviewing for us, but supporting us.

I am recently using this tiny[1] skill to generate an order on how to review a PR and it has been very helpful to me.

https://www.dev-log.me/pr_review_navigator_for_claude/

andaiFeb 8, 2026
I wonder if the problem of idle time / waiting / breaking flow is a function of the slowness. That would be simple to test, because there are super fast 1000 tok/s providers now.

(Waiting for Cerebras coding plan to stop being sold out ;)

I've used them for smaller tasks (making small edits), and the "realtime" aspect of it does provide a qualitative difference. It stops being async and becomes interactive.

A sufficient shift in quantity produces a phase shift in quality.

--

That said, the main issue I find with agentic is my mental model getting desynchronized. No matter how fast the models get, it takes a fixed amount of time for me to catch up and understand what they've done.

The most enjoyable way I've found of staying synced is to stay in the driver's seat, and to command many small rapid edits manually. (i.e. I have my own homebrew "agent" that's just a loop of, I prompt it, it proposes edits, I accept or edit, repeat.)

So then the "synchronization" of the mental state is happening continuously, because there is no opportunity for desynchronization. Because you are the one driving. I call that approach semi-auto, or Power Coding (akin to Power Armor, which is wielded manually but greatly enhances speed and strength).

dybberFeb 8, 2026
You still have to synchronize with your code reviewers and teammates, so how well you work together in a team becomes a limiting factor at some point then I guess.
roughlyFeb 8, 2026
The “Calm technology” thing always annoys me, because it skips every economic, social, and psychological reason for the current state of affairs and presents itself as some kind of wondrous discovery, as opposed to “the way things were before we invented the MBA.” A willing blindness to predators doesn’t provide a particularly useful toolkit.
pringk02Feb 8, 2026
I would be interested to hear you elaborate on this more. I feel like I almost get what you are saying but am not confident I actually understand.
eigenblakeFeb 8, 2026
I have been considering what it would be like to give each function name a specific color and a color for each variable's type followed by a color derived from the hash of the symbol name and keywords would each be their specific type. And essentially printing a matrix of this, essentially transforming your code into a printable matrix "low-lod" or "mipmap" form. This could be implemented like the VSCode minimap but I the right move here is to implement it as a hook that can modify the output of your agent. That way you can look at the structure of the code without reading the names in particular.
kstenerudFeb 8, 2026
What I've found is that most people who dislike the chat interface aren't using it in a way that leverages its strengths.

Up until recently, LLMs just plain sucked. You'd set them on a task and then spend hours hand-holding them to output something almost correct.

Nowadays you can have a conversation with the chatbot, hash out a design, rubber duck and discuss what-ifs until you have a solid idea of the thing you're building, codified in a way an agent could understand, and now you have a PLAN.

From there, it's a matter of setting the agent in motion and checking from time to time to make sure it's not getting stuck on something under-specified.

That said, I've found that this kind of workflow works a lot better with claude than with gemini.

tossandthrowFeb 8, 2026
I whole heartedly prefer chat interfaces over inline ai suggestions.

I find the inline stuff so incredibly annoying because they move around the text I am looking at.

coffeefirstFeb 8, 2026
Same! It feels like being shouted at nonstop by an overeager teacher's pet who's wrong 60% of the time.

I do appreciate in-IDE functionality that can search the codebase etc etc, but I want to hit a button when I need it.

benobFeb 8, 2026
I really like the "file lens" example:

> “Focus on…” would allow the user to specify what they're interested in changing and present only files and lines of code related to their specified interest.

> “Edit as…” would allow the user to edit the file or selected code as if it were a different programming language or file format.

AIorNotFeb 8, 2026
“Facet-based project navigation You could browse a project by a tree of semantic facets. For example, if you were editing the Haskell implementation of Dhall the tree viewer might look like this prototype I hacked up2”

^ This is a genius idea - someone add this to claude

matheus-rrFeb 8, 2026
The "junior dev" analogy is the one I keep coming back to, but the part people miss is the review surface area problem.

When a human junior writes code, they leave breadcrumbs of their thinking — commit messages, PR descriptions, comments explaining why they chose approach A over B. You can reconstruct their reasoning from the artifact trail.

Agents don't do this naturally. You get a diff with no context for why it went that direction. So the reviewer has to reverse-engineer the thinking from the code alone, which is actually harder than reviewing human code because there are no "tells" — no familiar coding style, no consistent patterns that hint at the developer's mental model.

The semi-auto approach mentioned upthread works precisely because it solves this: you were there for every decision, so there's nothing to reconstruct. The productivity loss from staying in the loop is offset by the time you save not having to audit opaque changes after the fact.

shevy-javaFeb 8, 2026
> I believe there is a lot of untapped potential in AI-assisted coding tools

Yikes.

By the way, the whole website is strange. Just the name alone "haskell for all".

Many years ago when I tried to learn Haskell (and wrote some haskell code that worked but it was sooooo much harder when compared to ruby or python), one of the few things that appeared early on, aside from the monad barrier, was that many haskell people said that Haskell is deliberately not for everyone. Back then this was when IRC was still en vogue, so I "heard" that via various discussions on #haskell.

I did not fully understand this part, because ... why would you write a language that only a few big brain people could use? I found that elitistic and snobbish, even arrogant.

Only at a later time did I understand one part of the meaning. The "we don't want you here" also means "we don't want YOU to change haskell into some other new meta-variant". I understood this much better when some guys wanted to have ruby embrace types. Then I understood that people not only want to change a language but also want to ruin it; whether on purpose or because they prefer something else (such as their brain embraced types-only code bases) is a separate discussion. I still find the haskell attitude very elitistic but I at the least understand that they don't want everyone to use - and change - Haskell.

> For example, someone who was new to Haskell could edit a Haskell file “as Python” and then after finishing their edits the AI attempts to back-propagate their changes to Haskell.

I like the general idea behind "write in any language, have it work in EVERY language". But the whole AI movement seems more about trying to dumb down people really or make them lazy, in many ways. I have seen people use it to great effect, so I am not at all saying AI has no use cases. What I am however had noticing is that it made many normal folks super-lazy. They type on their smartphone, solution comes out, task finished, move on. That's not necessarily only bad, but it comes with trade-offs. My approach is much slower, but it is systematic and I am in full control of what is documented how and where.

> This is obviously not a comprehensive list of ideas, but I wrote this to encourage people to think of more innovative ways to incorporate AI into people's workflows

Oh he has achieved this in a different way. Now I have another reason to not want AI in my "workflows". The whole website also seems super-strange to me. Has he used AI to write the whole content and layout? It's hard to say because I don't know how it used to be in the past, but the paragraphs and the content seem so strange. I suspect he used AI to generate the layout too; and some of the content as well. We are losing "interaction" with real humans here too (ok ok, there is not a lot of interaction with regards to a static website, but if a blog is written by AI, then that is not really any possibility for interaction with a human - you could not even distinguish WHO wrote the content or made the decisions such as which style to choose and so forth; it looks very fake to me or, at the least, in part. I typically don't see this with other blogs.).