codo-notation 0.5 → 0.5.2
raw patch · 2 files changed
+9/−8 lines, 2 filesdep ~uniplatePVP ok
version bump matches the API change (PVP)
Dependency ranges changed: uniplate
API changes (from Hackage documentation)
Files
- codo-notation.cabal +6/−4
- src/Language/Haskell/Codo.lhs +3/−4
codo-notation.cabal view
@@ -1,8 +1,10 @@ name: codo-notation-version: 0.5+version: 0.5.2 synopsis: A notation for comonads, analogous to the do-notation for monads.-description: Requires the @TemplateHaskell@ and @QuasiQuotes@ extensions.+description: A notation for comonads, analogous to the do-notation for monads. .+ Requires the @TemplateHaskell@ and @QuasiQuotes@ extensions.+ . Example 1: . @ @@ -57,8 +59,8 @@ -- other-modules: build-depends: base >= 4.2 && < 5, comonad >= 3,- uniplate > 1.6, template-haskell >= 2.7, haskell-src-meta >= 0.5.1,- parsec >= 3+ parsec >= 3,+ uniplate >= 1.6 hs-source-dirs: src
src/Language/Haskell/Codo.lhs view
@@ -146,12 +146,11 @@ > ($(envProj vars (transformM (doToCodo) e)) gamma, > extract gamma))) |] -> codoBind ((LetS [ValD (VarP v) (NormalB e) []]):bs) vars = +> codoBind ((LetS [ValD p (NormalB e) []]):bs) vars = > [| (\gamma -> -> $(letE [valD (varP $ v)+> $(letE [valD (return p) > (normalB $ [| $(envProj vars (transformM (doToCodo) e)) gamma |]) []] [| $(codoBind bs vars) $(fv "gamma") |])) |] - > codoBind ((BindS (VarP v) e):bs) vars = [| $(codoBind bs (v:vars)) . > (extend (\gamma -> > ($(envProj vars (transformM (doToCodo) e)) gamma,@@ -161,7 +160,7 @@ > $(return $ convert (concatMap patToVarPs ps) vars) > ($(envProj vars (transformM (doToCodo) e)) gamma, > extract gamma))) |]-> codoBind _ _ = error "Ill-formed codo bindings"+> codoBind t _ = error "Ill-formed codo bindings" > doToCodo :: Exp -> Q Exp > doToCodo (LamE [VarP v] (DoE ((NoBindS (VarE n)):stmts)))