Proposal: Partial Type Signatures
Edward Kmett
ekmett at gmail.com
Wed Mar 12 15:09:18 UTC 2014
Clearly given that term-level holes are called TypeHoles, the extension to
enable these should be called KindHoles. =)
Er.. I'll show myself out.
-Edward
On Wed, Mar 12, 2014 at 9:35 AM, Thomas Winant <thomas.winant at cs.kuleuven.be
> wrote:
> Dear GHC developers,
>
> Together with Tom Schrijvers, Frank Piessens and Dominique Devriese, I
> have been working on a proposal for adding *Partial Type Signatures* to
> GHC. In a partial type signature, annotated types can be mixed with
> inferred types. A type signature is written like before, but can now
> contain wildcards, written as underscores. The types of these wildcards
> or unknown types will be inferred by the type checker, e.g.
>
> foo :: _ -> Bool
> foo x = not x
> -- Inferred: Bool -> Boo
>
> The proposal also includes a form of generalisation which aligns with
> the existing generalisation that GHC does. We have written down a
> motivation (when and how might you use this) and details about the
> design and implementation on the following wiki page:
>
> https://ghc.haskell.org/trac/ghc/wiki/PartialTypeSignatures
>
> We have a (work in progress) implementation [1] of the feature based on
> GHC. It currently implements most of what we propose, but there are some
> remaining important bugs mostly concerning the generalisation. We also
> described our design and presented a formalisation based on the
> OutsideIn(X) formalism in a paper [2] presented at PADL'14.
>
> What we are hoping to get from the people on this list is any of the
> below:
> * Read the design, play with the implementation and tell us any comments
> you may have about the feature, its design and implementation.
> * Opinions on whether this feature might be acceptable in GHC upstream
> at some point (if not, we do not think it's worth developing the
> implementation much further).
> * Perhaps a code review or a discussion with someone more knowledgeable
> about the internals of GHC's type checker about how we might fix the
> remaining problems in our implementation (specifically, we could use
> some help with implementing the generalisation of partial type
> signatures).
> * Feedback on the `Questions and issues' section on the wiki page.
>
>
> Kind regards,
> Thomas Winant
>
> [1]: https://github.com/mrBliss/ghc-head/
> [2]: https://lirias.kuleuven.be/bitstream/123456789/423475/3/paper.pdf
>
>
> Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm
> _______________________________________________
> ghc-devs mailing list
> ghc-devs at haskell.org
> http://www.haskell.org/mailman/listinfo/ghc-devs
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/ghc-devs/attachments/20140312/959d4b96/attachment-0001.html>
More information about the ghc-devs
mailing list