Great -- this agrees with the current proposal at the type level ((NEWCUSK) in the language of #9200.)
Thanks for the quick response! Richard On Jun 19, 2014, at 6:00 PM, Simon Peyton Jones <simo...@microsoft.com> wrote: > > | So in general, if there is a partial type signature, the compiler > | tries to infer a type under the assumption that there is no > | polymorphic recursion, similar to what it does when there is no > | signature. > > Yes. The way to think of it (at both term and type level) is this. > > A full type signature breaks dependency loops, and supports polymorphic > recursion. > > A partial type signature is treated exactly like *no* type signature, except > that extra typing constraints are added. Where the signature has a variable, > we insist that the result is a variable; where the signature are distinct > variables we insist that the final inferred type has distinct variables. > Moreover, the explicitly mentioned variables can lexically scope over the > definition. > > But no polymorphic recursion at all, with a partial type signature. > > Simon > _______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://www.haskell.org/mailman/listinfo/ghc-devs