Changes between Version 1 and Version 2 of KindFact
 Timestamp:
 Mar 9, 2011 10:48:19 PM (6 years ago)
Legend:
 Unmodified
 Added
 Removed
 Modified

KindFact
v1 v2 7 7 * add a kind {{{Fact}}} for constraints, so that, e.g. {{{Monad :: (* > *) > Fact}}}; 8 8 * close {{{Fact}}} under tuples, so {{{(F1, .. Fn) :: Fact}}} iff each {{{Fi :: Fact}}}; 9 * allow nested tuple constraints, with componentwise unpacking and inference, so if {{{Stringy x = (Read x, Show x)}}}, then {{{(Stringy x, Eq x)}}} is a valid constraint without flattening it to {{{(Read x, Show x, Eq x)}}}; 9 10 * allow (rather, neglect to forbid) the use of {{{type}}} to introduce synonyms for Fact(constructing) things; 10 11 * retain the policy of defaulting to kind {{{*}}} in ambiguous inference problems  notably {{{()}}} is the unit type and the trivial constraint  except where overridden by kind signatures.