Tentative high-level plans for 7.10.1

Dominique Devriese dominique.devriese at cs.kuleuven.be
Tue Oct 7 19:14:20 UTC 2014


To complement what Thomas said: Phabricator currently claims that the
patch is not building, but if I understand Thomas correctly, this is
the consequence of a limitation of the Phabricator builder which is
not treating the haddock part of the patch correctly.

So to reiterate: the partial type signatures patch *should currently
build*, despite what Phabricator says.

Regards
Dominique

2014-10-07 18:07 GMT+02:00 Thomas Winant <Thomas.Winant at cs.kuleuven.be>:
> Hi,
>
> On 2014-10-03 23:35, Austin Seipp wrote:
>>
>> ..
>> Here are the major patches on Phabricator still needing review, that I
>> think we'd like to see for 7.10.1:
>>
>>   - D168: Partial type signatures
>> ..
>
>
> As Austin said, our patch implementing Partial Type Signatures is still
> up for code review on Phabricator [1]. It is our goal too to get it in
> 7.10.1, and we will try to do as much as we can to help out with this
> process.
>
> We'd like it very much if people had a thorough look at it (thanks
> Richard for the feedback). We're glad to provide additional info
> (including extra comments in the code), rewrite confusing code, etc.
>
> = Status =
>
> The implementation is nearly complete:
> * We've integrated support for Holes, i.e. by default, an underscore in
>   a type signature will generate an error message mentioning the
>   inferred type. By enabling -XPartialTypeSignatures, the inferred type
>   is used and the underscore can remain in the type signature.
> * SPJ's proposed simplifications (over Skype) have been implemented,
>   except for the fact that we still use the annotated constraints for
>   solving, see [2].
> * Richard's comments on Phabricator [1] have been addressed in extra
>   commits.
> * I've rebased the patch against master on Monday.
> * I've added docstring for most of the new functions I've added.
> * Some TODOs still remain, I'll summarise the most important ones here.
>   See [3] for a detailed list with examples.
>   * When -XMonoLocalBinds is enabled (implied by -XGADTs and
>     -XTypeFamilies), (some) local bindings without type signature aren't
>     generalised. Partial type signatures should follow this behaviour.
>     This is currently not handled correctly. We have a stopgap solution
>     involving generating an error in mind, but would prefer a real fix.
>     We'd like some help with this.
>   * Partial type signatures are currently ignored for pattern bindings.
>     This bug doesn't seem to be difficult to solve, but requires some
>     debugging.
>   * The following code doesn't type check:
>
>     {-# LANGUAGE MonomorphismRestriction, PartialTypeSignatures #-}
>     charlie :: _ => a
>     charlie = 3
>
>     Type error: No instance for (Num a) arising from the literal ‘3’. We
>     would like the (Num a) constraint to be inferred (because of the
>     extra-constraint wildcard).
>   * Some smaller things, e.g. improving error messages.
>
> We'll try to fix the remaining TODOs, but help is certainly appreciated
> and will speed up integrating this patch!
>
> Please have a look at the code and let us know what we can do to help.
>
>
> Cheers,
> Thomas Winant
>
> [1]: https://phabricator.haskell.org/D168
> [2]:
> https://ghc.haskell.org/trac/ghc/wiki/PartialTypeSignatures#extra-constraints-wildcard
> [3]: https://ghc.haskell.org/trac/ghc/wiki/PartialTypeSignatures#TODOs
>
> 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


More information about the ghc-devs mailing list