Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nomeata/ghc-justdoit
A magic typeclass that just does it
https://github.com/nomeata/ghc-justdoit
Last synced: 4 days ago
JSON representation
A magic typeclass that just does it
- Host: GitHub
- URL: https://github.com/nomeata/ghc-justdoit
- Owner: nomeata
- License: mit
- Created: 2018-02-02T05:48:51.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2022-08-01T18:39:53.000Z (over 2 years ago)
- Last Synced: 2025-01-10T14:15:31.543Z (11 days ago)
- Language: Haskell
- Size: 23.4 KB
- Stars: 124
- Watchers: 10
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: ChangeLog.md
- License: LICENSE
Awesome Lists containing this project
README
ghc-justdoit: a GHC plugin to write the code for you
=========================================This is a prototype of a code synthesis plugin for GHC, which uses LJT proof
search to instantiate a type.Synopsis
--------{-# OPTIONS_GHC -fplugin=GHC.JustDoIt.Plugin #-}
module Test whereimport GHC.JustDoIt
foo :: ((a -> r) -> r) -> (a -> ((b -> r) -> r)) -> ((b -> r) -> r)
foo = (…)Missing bits
------------* The LJT might not be complete, due to insufficient backtracking.
* The implementation is very much unoptimized.
* It returns one solution, but not necessary the “best” one. But what is the “best” one?
* It ignores any recursive type, so it cannot do anything with lists. It would be much more useful if it could do some best-effort thing here as well.
* It ignores linear types, and will likely produce ill-typed expressions for them.If someone wants to pick it up from here, that’d be great!
Related work
------------* [Djinn](http://hackage.haskell.org/package/djinn) and [djinn-ghc](http://hackage.haskell.org/package/djinn-ghc)
* [exference](http://hackage.haskell.org/package/exference)
* [curryhoward](https://github.com/Chymyst/curryhoward) for Scala
* [hezarfen](https://github.com/joom/hezarfen) for IdrisContact
-------Please reports bugs and missing features at the [GitHub bugtracker]. This is
also where you can find the [source code].`ghc-justdoit` was written by [Joachim Breitner] and is licensed under a
permissive MIT [license].[GitHub bugtracker]: https://github.com/nomeata/ghc-justdoit/issues
[source code]: https://github.com/nomeata/ghc-justdoit
[Joachim Breitner]: http://www.joachim-breitner.de/
[license]: https://github.com/nomeata/ghc-justdoit/blob/LICENSE