find functions that produce / consume a type?

Dear Cafe, can we automate something like the following for any type T that appears in signatures (shown by haddock), add (separate) lists of "functions that produce T", "functions that consume T". Hoogle can type-search approximately, but * it would always (want to) match the full type AST (matching with a subtree incurs a penalty?), * and not distinguish between producer and consumer? E.g., https://ndmitchell.com/downloads/slides-hoogle_finding_functions_from_types-... Slide #29 "Per Argument Searching" uses "search arguments", "search results" - only to merge the results immediately. Can we keep them separate? - J.W.

On Fri, Nov 09, 2018 at 10:59:03AM +0100, Johannes Waldmann wrote:
can we automate something like the following
for any type T that appears in signatures (shown by haddock), add (separate) lists of "functions that produce T", "functions that consume T".
This is a very nice idea.

Hoogle does let you restrict the search to the output type by prefixing your query with “::”. For example, “:: Maybe a” produces a list of functions that return a Maybe. https://www.haskell.org/hoogle/?hoogle=%3A%3A+Maybe+a Unfortunately this doesn’t seem to work in the new Hoogle hosted at hoogle.haskell.org. Sent from my iPhone
On Nov 9, 2018, at 04:59, Johannes Waldmann
wrote: Dear Cafe,
can we automate something like the following
for any type T that appears in signatures (shown by haddock), add (separate) lists of "functions that produce T", "functions that consume T".
Hoogle can type-search approximately, but * it would always (want to) match the full type AST (matching with a subtree incurs a penalty?), * and not distinguish between producer and consumer?
E.g., https://ndmitchell.com/downloads/slides-hoogle_finding_functions_from_types-... Slide #29 "Per Argument Searching" uses "search arguments", "search results" - only to merge the results immediately. Can we keep them separate?
- J.W.
_______________________________________________ Haskell-Cafe mailing list To (un)subscribe, modify options or view archives go to: http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe Only members subscribed via the mailman list are allowed to post.
participants (3)
-
Eric Seidel
-
Johannes Waldmann
-
Tom Ellis