Aside from the horrendous variable naming, I'm having trouble understanding what the author actually accomplished, and why it's necessary for a tool like this to exist in the first place.
Can anyone translate the problem into a more simplified, non-Haskell-specific version?
> jonk :: (a -> b) -> ((a -> Int) -> Int) -> ((b -> Int) -> Int)
I have no idea what this line means.
To me, it looks like he wants to write a transformer that matches a specific signature, and he uses a tool that tells him which functions can fit the 'hole' he has in the code, based on types. If I'm correct (I'm assuming I'm not), how is this different than intellisense in an IDE that tells you a list of type-valid functions/variables? Why is this a necessary part of the Haskell coding process? My first instinct is that this demonstrates a problem with the language, if something like this is necessary.
Appreciate anyone that tries to explain. I know most of my assumptions are probably wrong.