Changes between Version 10 and Version 11 of KindSystem


Ignore:
Timestamp:
Oct 17, 2008 8:09:43 AM (6 years ago)
Author:
simonpj
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • KindSystem

    v10 v11  
    4545  * Nothing stops a user creating the silly type {{{List Int Int}}} even though the intention is that the second argument is structured out of {{{Succ}}}s and {{{Zero}}}s. 
    4646 
    47 == Proposal == 
     47----------------------------- 
     48== Basic proposal == 
    4849 
    4950We propose to add new base kinds other than {{{*}}} using a simple notation.  The above example ''could'' become: 
     
    6768 
    6869 
    69 === ADT syntax === 
     70=== Syntax === 
    7071 
    7172The idea would be to mirror existing Haskell data declarations.  There is a clear analogy as we are now creating new kinds consiting of type constructors as opposed to new types consisting of data constructors. 
     
    161162By default declaration arguments are inferred to be of kind {{{*}}} if there is nothing in the class declaration (member functions or explicit kind signature) to change this.  This seems sensible for backward-compatibility. 
    162163 
    163 == Interaction with Type Synonym Families == 
     164=== Interaction with Type Synonym Families === 
    164165 
    165166TODO 
     
    167168 
    168169 
    169 == Interaction with Data Type Families == 
    170  
    171  
     170=== Interaction with Data Type Families === 
     171 
     172----------------------------------- 
    172173== Polymorphic kinds == 
    173174