vinyl 0.4 → 0.4.1
raw patch · 2 files changed
+29/−2 lines, 2 filesdep ~basedep ~vinyl
Dependency ranges changed: base, vinyl
Files
- Data/Vinyl/Derived.hs +26/−0
- vinyl.cabal +3/−2
+ Data/Vinyl/Derived.hs view
@@ -0,0 +1,26 @@+{-# LANGUAGE PolyKinds #-}+{-# LANGUAGE RankNTypes #-}++module Data.Vinyl.Derived where++import Data.Vinyl.Core+import qualified Data.Vinyl.Idiom.Identity as I+import qualified Data.Vinyl.Idiom.Thunk as I+import qualified Data.Vinyl.Universe as U++import Control.Applicative++type PlainRec el = Rec el I.Identity+type LazyPlainRec el = Rec el I.Thunk+type FieldRec = Rec U.ElField+type PlainFieldRec = Rec U.ElField I.Identity+type HList = Rec U.Id I.Identity+type LazyHList = Rec U.Id I.Thunk++-- | Fixes a polymorphic record into the 'Identity' functor.+toPlainRec :: (forall f. Applicative f => Rec el f rs) -> PlainRec el rs+toPlainRec xs = xs++toLazyPlainRec :: (forall f. Applicative f => Rec el f rs) -> LazyPlainRec el rs+toLazyPlainRec xs = xs+
vinyl.cabal view
@@ -1,11 +1,11 @@ name: vinyl-version: 0.4+version: 0.4.1 synopsis: Extensible Records -- description: license: MIT license-file: LICENSE author: Jonathan Sterling-maintainer: jonsterling@me.com+maintainer: jon@jonmsterling.com -- copyright: category: Records stability: Experimental@@ -23,6 +23,7 @@ , Data.Vinyl.Core , Data.Vinyl.Operators , Data.Vinyl.Lens+ , Data.Vinyl.Derived , Data.Vinyl.Witnesses , Data.Vinyl.Constraint , Data.Vinyl.Idiom.Validation