rawr 0.0.0.0 → 0.0.0.1
raw patch · 3 files changed
+38/−16 lines, 3 files
Files
- README.md +14/−0
- rawr.cabal +20/−3
- src/Data/Rawr.hs +4/−13
+ README.md view
@@ -0,0 +1,14 @@+# RAWR! An Extensible Record Library++This library provides anonymous extensible records using GHC 8.0 features, with the following goals/features:++* The syntax should be very close to that of Haskell's record system.+* The library should be simple to use and requires no extra boilerplate to setup.+* There should be minimal runtime overhead and memory footprint.+* The library does not require TemplateHaskell to use.+* It should produce good error messages.+* Minimal dependencies. Currently, it only depends on packages that comes with GHC.++## Documentation++See the [Haddock documentation](https://hackage.haskell.org/package/rawr/docs/Data-Rawr.html) of `Data.Rawr` on Hackage for a detailed tutorial of this library.
rawr.cabal view
@@ -3,9 +3,23 @@ -- see: https://github.com/sol/hpack name: rawr-version: 0.0.0.0-synopsis: Anonymous extensible records and variant types-description: See "Data.Rawr" for a tutorial of this library.+version: 0.0.0.1+synopsis: Anonymous extensible records+description: This library provides anonymous extensible records using GHC 8.0 features, with the following goals/features:+ .+ * The syntax should be very close to that of Haskell's record system.+ .+ * The library should be simple to use and requires no extra boilerplate to setup.+ .+ * There should be minimal runtime overhead and memory footprint.+ .+ * The library does not require @TemplateHaskell@ to use.+ .+ * It should produce good error messages.+ .+ * Minimal dependencies. Currently, it only depends on packages that comes with GHC.+ .+ See @<https://hackage.haskell.org/package/rawr/docs/Data-Rawr.html Data.Rawr>@ for a tutorial of this library. category: Records homepage: https://github.com/pkmx/rawr author: PkmX@@ -15,6 +29,9 @@ license-file: LICENSE build-type: Simple cabal-version: >= 1.10++extra-source-files:+ README.md library hs-source-dirs:
src/Data/Rawr.hs view
@@ -22,16 +22,7 @@ {-# LANGUAGE UndecidableInstances #-} {-# LANGUAGE ViewPatterns #-} --- | This package provides anonymous extensible records. The major features and goals of this library are:------ * The syntax should be very close to that of Haskell's record system.--- * The library should be simple to use and requires no extra boilerplate to setup.--- * There should be minimal runtime overhead and memory footprint.--- * The library does not require @TemplateHaskell@ to use.--- * It should produce good error messages.--- * Minimal dependencies. Currently, it only depends on packages that comes with GHC.------ == Prerequisite+-- | == Prerequisite -- -- You need GHC >= 8.0 and the following extensions in order to use this library: --@@ -1246,9 +1237,9 @@ -- = Rec -- '[Field 'Lazy ('Just "bar") Bool, Field 'Lazy ('Just "foo") Int] ----- >>> :kind! R ( Field 'Lazy 'Nothing Int ) :*: ( Field 'Strict 'Nothing Bool )--- R ( Field 'Lazy 'Nothing Int ) :*: ( Field 'Strict 'Nothing Bool ) :: GHC.Types.*--- = Rec '[Field 'Lazy 'Nothing Int] :*: Field 'Strict 'Nothing Bool+-- >>> :kind! R ( Field 'Lazy 'Nothing Int ) :*: R ( Field 'Strict 'Nothing Bool )+-- R ( Field 'Lazy 'Nothing Int ) :*: R ( Field 'Strict 'Nothing Bool ) :: *+-- = Rec '[Field 'Lazy 'Nothing Int, Field 'Strict 'Nothing Bool] type (:*:) x y = x `RecMerge` y infixr 1 :*: