named-records 0.3 → 0.3.1
raw patch · 4 files changed
+74/−4 lines, 4 filesdep ~names
Dependency ranges changed: names
Files
- Sample.hs +43/−0
- Sample2.hs +23/−0
- named-records.cabal +8/−3
- src/Data/NamedRecord.hs +0/−1
+ Sample.hs view
@@ -0,0 +1,43 @@+{-# LANGUAGE Haskell2010+ , TemplateHaskell+ , FlexibleContexts+ #-}+{-# OPTIONS -ddump-splices #-}++module Main where++import qualified Data.Name+import Data.NamedRecord+import Data.Word+++import Sample2++name "firstName"+name "lastName"+name "loginName"+name "password"+++record "User"+ `extends` __Person+ `extends` __Account++ `has` "id" := ''Word64+ `has` "emailAddress" := ''String+++julian = newPerson `set` firstName := "Julian"+ `set` lastName := "Fleischer"++alexander = newUser `set` firstName := "Alexander"+ `set` lastName := "Carnicero"+ `set` loginName := "alexander.carnicero"++displayName obj = (obj `get` firstName) ++ " " ++ (obj `get` lastName)++something :: (Property o $(nameT "firstName") String,+ Property o $(nameT "lastName") String)+ => o -> String+something = displayName+
+ Sample2.hs view
@@ -0,0 +1,23 @@+{-# LANGUAGE Haskell2010, TemplateHaskell #-}++module Sample2 where++import qualified Data.Name+import Data.NamedRecord+import Data.Word+++record "Account"+ `has` "id" := ''Word64++ `has` "loginName" := ''String+ `has` "password" := ''String+++record "Person"+ `has` "id" := ''Word64++ `has` "firstName" := ''String+ `has` "lastName" := ''String++
named-records.cabal view
@@ -1,5 +1,5 @@ Name: named-records-Version: 0.3+Version: 0.3.1 Synopsis: Flexible records with named fields. Description: Flexible records with named fields. .@@ -17,6 +17,9 @@ definition of default values). . [@v0.3@] Records can now extend other records.+ .+ [@v0.3.1@] Added sample files to cabal package,+ requirements bumped for names-v0.3 License: MIT License-File: LICENSE@@ -27,6 +30,7 @@ Category: Data, Records Stability: experimental +Extra-Source-Files: Sample.hs, Sample2.hs Source-Repository head type: darcs@@ -35,14 +39,15 @@ Source-Repository head type: darcs location: hub.darcs.net:names- tag: v0.3+ tag: v0.3.1 + Library Exposed-Modules: Data.NamedRecord Build-Depends: base >= 4 && < 5,- names == 0.2.3,+ names == 0.3, template-haskell >= 2.7 Hs-Source-Dirs: src
src/Data/NamedRecord.hs view
@@ -313,7 +313,6 @@ return (n, (v', d')) nFields <- mapM normalize fs- >>= return . sortBy (compare `on` fst) let fs' = sortBy (compare `on` fst) (concat (nFields : xs))