4 ms·
The classic approach to this is Djinn https://hackage.haskell.org/package/djinn https://hackage.haskell.org/package/djinn It's not very good with concrete types
by chriswarbo 1y ago
The classic approach to this is Djinn https://hackage.haskell.org/package/djinn https://hackage.haskell.org/package/djinn It's not very good with concrete types (Text, Int, MyCustomThing, etc.) but is good for polymorphic functions whose parts only fit together in a few ways.
More recent work is better at using concrete types, and choosing functions from Hackage, like Hoogle+ https://github.com/TyGuS/hoogle_plus https://github.com/TyGuS/hoogle_plus and Hectare https://dl.acm.org/doi/10.1145/3547622 https://dl.acm.org/doi/10.1145/3547622
There's also "inductive programming" (producing a function from input/output examples), with Haskell implementations like Magic Haskeller http://nautilus.cs.miyazaki-u.ac.jp/~skata/MagicHaskeller.html http://nautilus.cs.miyazaki-u.ac.jp/~skata/MagicHaskeller.ht...