I'm trying to understand if there's a fundamental reason for why Hoogle and Hayoo aren't matching, for instance
(b -> c) -> (b' -> c') -> (b, b') -> (c, c')
to
a b c -> a b' c' -> a (b, b') (c, c')
which happens to be the type of Control.Arrow.***
:
(***) :: a b c -> a b' c' -> a (b, b') (c, c')
— is this likely just something that's as-of-yet unimplemented, or is there something fundamental that is preventing this sort of type based search from ever being implemented?
With Hoogle, it seems to be a consequence of how ->
is handled. Issue #64 in the GitHub tracker, which is very similar to what we are discussing here, includes this comment by Neil Mitchell:
Currently I quickly split out the result type from the arguments. I guess one approach would be to find instances for
->
and pregenerate a version with->
substituted in.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With