Changes between Version 4 and Version 5 of GhcKinds/KindsWithoutData


Ignore:
Timestamp:
Jun 27, 2012 1:43:32 PM (3 years ago)
Author:
dreixel
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GhcKinds/KindsWithoutData

    v4 v5  
    4747
    4848
    49 = Notes =
     49= Defining datatypes without an associated kind =
    5050
    51  * `data kind K ...`
     51By extension, we might want to define a datatype that will never be promoted, even with `-XDataKinds`.
     52For that we propose the syntax `data type D ...`.
    5253
    53  * Allow `*` on `data kind`s? Or maybe `Type`, or `Star`.
    54  
    55  * Perhaps also `data type D ...`
    56  
    57  * Promote type synonyms by default
    58  
    59  * What about `type kind K1 = K2`?
    60  
    61  * Even worse: `type type T1 = T2`...
     54= Kind synonyms (from type synonym promotion) =
     55
     56Currently GHC does not promote type synonyms. We propose to change this, and make GHC promote
     57type synonyms to kind synonyms by default with `-XDataKinds`. For instance, `type String = [Char]`
     58should give rise to a kind `String`.
     59
     60'''Question:''' are there dangerous interactions with `-XLiberalTypeSynonyms`? E.g. what's the kind
     61of ''type K a = forall b. b -> a`?
     62
     63By extension, we might want to have kind synonyms that do not arise from promotion: `type kind K ...`.
     64And perhaps even type synonyms that never give rise to a promoted kind: `type type T ...`.