It can’t really reason - it’s just very good at guessing the right answer if there are a lot of examples.
It also lies somewhat frequently.
If we have to double check its output, it kind of defeats the purpose - at least part of it - as the “cognitive burden” is still on us.
P.S. Not sure what you mean by “lining up” Haskell types … but don’t LSPs already give us clear information about the inferred types and do so with nigh zero chance of errors.
Yes of course.
Libraries: I look at the libraries it suggests, see if they have documentation or GitHub activity.
Lining up types: say you have a `List (Maybe a)` and require a `Maybe (List a)`. This is a simple example, of course real life is much more complicated. ChatGPT tells you. Can you trust it? Well did it make the compile error go away?
(Sure, I can think of three ways to turn a `List (Maybe a)` into `Maybe (List a)`. Only one will be what I want, but it's easy to tell whether ChatGPT gave me the one I wanted.)
Although might as well just use Google directly which will send you either to Stack Overflow or Reddit where there are comments discussing the issue with back and forth fleshing it out or to a bunch of tutorial sites where you can source opinions from each site.
edit: nevermind the attempt at your puzzle, my solution doesn't work.
You wouldn’t actually have an intern do this because the delegation takes more time than doing it yourself. With GenerativeAI, it’s snappy.
I don't mean type inference but turning the present type a into the required type b. LSP don't do that.
How can you be sure of that?
I know scientists who use ChatGPT to rewrite their text to be clearer. They've also used it to pose novel interesting questions about a situation.
On my side, I've found ChatGPT very helpful to explore/compare which library to use to solve my problem and show examples how that library is used.
It's also been very helpful lining up Haskell types and translating GHC error messages into English. Sure, those are non-creative tasks, but it's surprisingly good at them.