From 3c64b2a8537bcb3ba145e825c7306430457ed104 Mon Sep 17 00:00:00 2001 From: Jake Date: Thu, 10 Feb 2022 15:56:20 -0600 Subject: [PATCH] update: clear change log for future revisions --- CHANGELOG.md | 34 ---------------------------------- 1 file changed, 34 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1c39802..e69de29 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,34 +0,0 @@ -Version 0.1.0.0 -=============== - -#### Extensible Records - -* 'RecT' renamed to 'RecF' to avoid colliding with the naming scheme generally reserved for monad transformers. Record constructor names reflect this change. - -* The "rec" suffix removed from the functions 'setRecF', 'getRecF', 'getRec', and 'setRec' renamed to prefer the less noise 'setF', getF', 'set', and 'get'. - -* The selector constraint (.|) and (#) type synonym replaced with 'Has' constraint for readiblity. - ```haskell - -- previously - type HasFooInt ctx = "foo" # Int .| ctx - - -- ... is now - type HasFootInt ctx = Has "foo" Int ctx - ``` - -* A new type 'Evident' and class 'HasDict' now give a uniform way for capturing typeclass evidence of extensible records. - -* 'Rec' and 'RecT' instance declaration are no longer defined for the base case and inductive case. Instead, extensible record instances pass the responsibility witnessing a dictionary to a 'HasDict' superclass. - ```haskell - -- old version - instance Show (Rec '[]) where - show RNil = ... - - instance (Show x, Show xs) => Show (Rec (x ': xs)) where - show RNil = ... - - -- new version - instance HasDict Show ctx => Show (Rec ctx) where - show Nil = ... - show Con {} = ... - ```