Open data kinds

2015-12-16 Thread Jan Stolarek
Devs, I plan to work on implementing open data kinds (#11080). The idea is that users will be allowed to declare open kinds and then populate them with member types. Perhaps I will also implement closed data kinds. This is already possible using DataKinds, but the idea is to declare a data

Re: Kinds of type synonym arguments

2015-12-16 Thread Ömer Sinan Ağacan
I understand the problem, but I was actually talking about something else. We already have some other restrictions for polymorphism over boxed and unboxed types. For example: data T a b = T a b This has kind * -> * -> *. Similarly, kinds of 'a' and 'b' in this function are *: f :: (a,

Re: Kinds of type synonym arguments

2015-12-16 Thread Richard Eisenberg
On Dec 16, 2015, at 2:06 PM, Ömer Sinan Ağacan wrote: > > In any case, this is not that big deal. When I read the code I thought this > should be a trivial change but apparently it's not. No, it's not. Your example (`f :: (Int#, b) -> b`) still has an unboxed thing in a

Re: Open data kinds

2015-12-16 Thread Richard Eisenberg
Janek and I discussed this issue this morning, and I would like to state my opinion and state my case: * In `kind K = T`, `T` should live in the data-level namespace. Of course, if `T` is used in a term-level expression, an error should be issued, because T logically lives only in types. To

Harbormaster acting up?

2015-12-16 Thread Richard Eisenberg
Hi devs, Is Harbormaster acting up? I saw today two out-of-memory failures, including this one (https://phabricator.haskell.org/harbormaster/build/9150/), which happens when building the stage-1 compiler. That means that an off-the-shelf GHC is the one that's running out of memory.