one could. but GHC doesn't. feels low prio to me... | -----Original Message----- | From: Ross Paterson [mailto:ross@soi.city.ac.uk] | Sent: 17 November 2005 12:45 | To: Simon Peyton-Jones | Cc: glasgow-haskell-users@haskell.org | Subject: Re: kind inference | | On Thu, Nov 17, 2005 at 12:32:37PM -0000, Simon Peyton-Jones wrote: | > Yes it's deliberate. (Turned out to be easy and convenient.) Yes it | > goes beyond H98, so GHC types a few too many programs even in H98 mode. | > I guess I should document it. | | I think the H98 rule is arbitrarily restrictive. But what about going | further and considering the occurrences of type constructors in instance | declarations, type signature declarations and expression type signatures?
On Thu, Nov 17, 2005 at 12:46:31PM -0000, Simon Peyton-Jones wrote:
On 17 November 2005 12:45, Ross Paterson wrote: | I think the H98 rule is arbitrarily restrictive. But what about | going further and considering the occurrences of type constructors | in instance declarations, type signature declarations and expression | type signatures?
one could. but GHC doesn't. feels low prio to me...
It would probably not make many more practical programs legal, but it would be less arbitrary and easier to explain.
On Thu, Nov 17, 2005 at 01:17:02PM +0000, Ross Paterson wrote:
On Thu, Nov 17, 2005 at 12:46:31PM -0000, Simon Peyton-Jones wrote:
On 17 November 2005 12:45, Ross Paterson wrote: | I think the H98 rule is arbitrarily restrictive. But what about | going further and considering the occurrences of type constructors | in instance declarations, type signature declarations and expression | type signatures?
one could. but GHC doesn't. feels low prio to me...
It would probably not make many more practical programs legal, but it would be less arbitrary and easier to explain.
explicit kinds allow you to type everything that this would make legal right? John -- John Meacham - ⑆repetae.net⑆john⑈
On Thu, Nov 17, 2005 at 05:43:28PM -0800, John Meacham wrote:
On Thu, Nov 17, 2005 at 01:17:02PM +0000, Ross Paterson wrote:
On Thu, Nov 17, 2005 at 12:46:31PM -0000, Simon Peyton-Jones wrote:
On 17 November 2005 12:45, Ross Paterson wrote: | I think the H98 rule is arbitrarily restrictive. But what about | going further and considering the occurrences of type constructors | in instance declarations, type signature declarations and expression | type signatures?
one could. but GHC doesn't. feels low prio to me...
It would probably not make many more practical programs legal, but it would be less arbitrary and easier to explain.
explicit kinds allow you to type everything that this would make legal right?
Yes. On the other hand if kind inference used all the available information in a module you'd hardly ever need explicit kinds. (And if polymorphic kinds were inferred in dependency order, you'd never need them.) I'm thinking of what a clean kind inference rule would look like, and neither the H98 nor the GHC rules are easy to explain or remember.
participants (3)
-
John Meacham -
Ross Paterson -
Simon Peyton-Jones