records 0.1.1.1 → 0.1.1.2
raw patch · 2 files changed
+17/−14 lines, 2 filesdep ~type-functionsPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: type-functions
API changes (from Hackage documentation)
Files
- records.cabal +7/−4
- src/Data/Record.hs +10/−10
records.cabal view
@@ -1,5 +1,5 @@ Name: records-Version: 0.1.1.1+Version: 0.1.1.2 Cabal-Version: >= 1.2.3 Build-Type: Simple License: BSD3@@ -10,7 +10,7 @@ Stability: provisional Homepage: http://community.haskell.org/~jeltsch/records/ Bug-Reports: jeltsch@tu-cottbus.de-Package-URL: http://hackage.haskell.org/packages/archive/records/0.0.0.0/records-0.0.0.0.tar.gz+Package-URL: http://hackage.haskell.org/packages/archive/records/0.1.1.2/records-0.1.1.2.tar.gz Synopsis: A flexible record system Description: This package provides a flexible record system which has some novel features: .@@ -22,13 +22,16 @@ . * Subkind polymorphism for sorts makes it possible to impose varying restrictions on the structure of field types.+ .+ For detailed information, please refer to the paper+ /Generic Record Combinators with Static Type Checking/. Category: Data, Records-Tested-With: GHC == 6.10.4+Tested-With: GHC == 6.12.1 Library Build-Depends: base >= 3.0 && < 4.1, kinds >= 0.0.1 && < 0.1,- type-functions >= 0.1 && < 0.2+ type-functions >= 0.1 && < 0.3 Extensions: EmptyDataDecls FlexibleContexts FlexibleInstances
src/Data/Record.hs view
@@ -102,15 +102,15 @@ assignPrec = 3 {-|- The class of name types. For each field name /N/, there should be a declaration of the- following form:+ The class of name types. For each field name @/N/@, there should be a declaration of+ the following form: @ data /N/ = /N/ deriving (Show) @ - That way, the name can be represented in types by the type constructor /N/, and in- expressions and patterns by the data constructor /N/. Furthermore, the following+ That way, the name can be represented in types by the type constructor @/N/@, and in+ expressions and patterns by the data constructor @/N/@. Furthermore, the following instance declaration should be added: @@@ -128,14 +128,14 @@ name :: name {-|- An instance @Record /k/ /r/@ exists if and only if /r/ is a record scheme whose sorts- are of the subkind represented by /k/.+ An instance @Record /k/ /r/@ exists if and only if @/r/@ is a record scheme whose sorts+ are of the subkind represented by @/k/@. -} class (Kind kind) => Record kind rec where {-| Folding of record schemes. This function can be used to define combinators whose types- have the form @(Record rec) => t rec@ by induction on the @rec@ parameter.+ have the form @(Record rec) => /t/ rec@ by induction on the @rec@ parameter. -} fold :: thing X -- ^ the definition of the combinator for the empty record scheme@@ -187,9 +187,9 @@ -- NOTE: Convertible does not ensure that all names in the source record are instances of Name. {-|- An instance @Convertible /r/ /r'/@ exists if and only if /r/ and /r'/ are record- schemes, and records of a type @/r/ /s/@ can be converted into records of the type @/r'/- /s/@.+ An instance @Convertible /r/ /r'/@ exists if and only if @/r/@ and @/r'/@ are+ record schemes, and records of a type @/r/ /s/@ can be converted into records of the type+ @/r'/ /s/@. -} class Convertible rec rec' where