Changes between Version 10 and Version 11 of KindSystem


Ignore:
Timestamp:
Oct 17, 2008 8:09:43 AM (7 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