packages feed

data-combinator-gen 0.1.0.3 → 0.1.0.4

raw patch · 3 files changed

+12/−8 lines, 3 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

CHANGELOG.md view
@@ -1,5 +1,9 @@ # Revision history for data-combinator-gen +## 0.1.0.4 -- 2019-05-26++* Small fix+ ## 0.1.0.3 -- 2019-05-26  * Actually corrected recursion on (,) - it's now right recursive
data-combinator-gen.cabal view
@@ -13,7 +13,7 @@ -- PVP summary:      +-+------- breaking API changes --                   | | +----- non-breaking API additions --                   | | | +--- code changes with no API change-version:             0.1.0.3+version:             0.1.0.4  -- A short (one-line) description of the package. synopsis:            Generate a special combinator from any data type.
src/Data/Combinators/TH.hs view
@@ -51,11 +51,11 @@              -> (Con, Int) -- (Constructor, Indice of current constructor)              -> ClauseQ combinClause (patsF, varsF) (NormalC name fields, i) = do (patsC, varsC) <- genPE "a" (length fields)-                                                          funClause patsF varsF patsC varsC name (length fields) i+                                                          funClause patsF varsF patsC varsC name i combinClause (patsF, varsF) (RecC name fields, i)    = do (patsC, varsC) <- genPE "a" (length fields)-                                                          funClause patsF varsF patsC varsC name (length fields) i+                                                          funClause patsF varsF patsC varsC name i combinClause (patsF, varsF) (InfixC _ name _, i)     = do (patsC, varsC) <- genPE "a" 2-                                                          funClause patsF varsF patsC varsC name 2 i+                                                          funClause patsF varsF patsC varsC name i combinClause _ (ForallC{}, _)  = error "makeCombinator: GADTs are not currently supported." combinClause _ (GadtC{}, _)    = error "makeCombinator: GADTs are not currently supported." combinClause _ (RecGadtC{}, _) = error "makeCombinator: GADTs are not currently supported."@@ -63,17 +63,17 @@ -----  -- (3) combinClause auxiliary functions ------funClause :: [PatQ] -> [ExpQ] -> [PatQ] -> [ExpQ] -> Name -> Int -> Int -> ClauseQ-funClause pF vF pC vC name l i = +funClause :: [PatQ] -> [ExpQ] -> [PatQ] -> [ExpQ] -> Name -> Int -> ClauseQ+funClause pF vF pC vC name i =      clause (pF ++ [conP name pC])             (normalB (appE (vF !! i) -                          (applyConVars vC name vC (l - 1)))) +                          (applyConVars vC name vC 0)))             []  applyConVars :: [ExpQ] -> t -> [a] -> Int -> ExpQ applyConVars _ _ [] _             = conE (mkName "()") applyConVars varsC _ [_] n        = varsC !! n-applyConVars varsC name' (_:fs) n = tupE ([(varsC !! n), applyConVars varsC name' fs (n-1)])+applyConVars varsC name' (_:fs) n = tupE ([(varsC !! n), applyConVars varsC name' fs (n+1)])  ------