Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

distribute to end-users #18

Open
KiaraGrouwstra opened this issue Jan 27, 2020 · 0 comments
Open

distribute to end-users #18

KiaraGrouwstra opened this issue Jan 27, 2020 · 0 comments

Comments

@KiaraGrouwstra
Copy link
Owner

KiaraGrouwstra commented Jan 27, 2020

The point of this project isn't so much just what typed functional programming can do for program synthesis, but more importantly, what program synthesis can do for typed functional programming.
I believe program synthesis by types + examples is the killer app that will super-charge Idris-style hole-filling suggestions, and having this integrated in an IDE for a language like Haskell or Idris should help bring about code that 'writes itself' from the given examples for these (already awesome yet in the non-CS mainstream vastly under-appreciated) languages.

This use-case brings a bunch of questions:

  • Does this make more sense for Haskell or Idris? It seemed hole-filling suggestions (with IDE integration) were more mature in Idris? - given ML bits I'm def doing Haskell
  • Could I adapt existing extensions for these languages for e.g. VSCode to do hole filling suggestions? - probably! I may wanna check other Haskell extensions there, while for GHC I would likely need a compiler plugin as well for synthesis-based hole suggestions as well...
  • Can I hook into the compiler APIs for suggestions? - yes, listing holes is built-in there
  • How the heck would we make it aware of the samples input-output pairs for a given function? Could we do something involving the decorator pattern?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant