hsx2hs 0.13.1 → 0.13.2
raw patch · 2 files changed
+20/−7 lines, 2 filesdep ~haskell-src-extsdep ~haskell-src-metadep ~mtl
Dependency ranges changed: haskell-src-exts, haskell-src-meta, mtl, template-haskell
Files
- hsx2hs.cabal +6/−6
- src/Language/Haskell/HSX/Transform.hs +14/−1
hsx2hs.cabal view
@@ -1,5 +1,5 @@ Name: hsx2hs-Version: 0.13.1+Version: 0.13.2 License: BSD3 License-File: LICENSE Author: Niklas Broberg, Joel Bjornson@@ -29,7 +29,7 @@ Homepage: http://hub.darcs.net/nibro/hsx2hs -Tested-With: GHC==7.6.3+Tested-With: GHC==7.6.3, GHC==7.8.2 Cabal-Version: >= 1.6 Build-Type: Simple @@ -41,10 +41,10 @@ Flag base4 Library- Build-depends: mtl >= 2.0 && < 2.2,- haskell-src-exts == 1.14.*,- haskell-src-meta >= 0.6,- template-haskell >= 2.7 && < 2.9,+ Build-depends: mtl >= 2.0 && < 2.3,+ haskell-src-exts >= 1.14 && < 1.16,+ haskell-src-meta >= 0.6 && < 0.7,+ template-haskell >= 2.7 && < 2.10, utf8-string == 0.3.* if flag(base4)
src/Language/Haskell/HSX/Transform.hs view
@@ -21,6 +21,8 @@ import Language.Haskell.Exts.Syntax import Language.Haskell.Exts.Build import Language.Haskell.Exts.SrcLoc (noLoc)+import Control.Applicative (Applicative(pure, (<*>)))+import Control.Monad (ap) import Data.List (union) import Debug.Trace (trace)@@ -31,6 +33,10 @@ newtype HsxM a = MkHsxM (HsxState -> (a, HsxState)) +instance Applicative HsxM where+ pure = return+ (<*>) = ap+ instance Monad HsxM where return x = MkHsxM (\s -> (x,s)) (MkHsxM f) >>= k = MkHsxM (\s -> let (a, s') = f s@@ -627,6 +633,10 @@ initRNState = 0 +instance Applicative RN where+ pure = return+ (<*>) = ap+ instance Monad RN where return a = RN $ \s -> (a,s) (RN f) >>= k = RN $ \s -> let (a,s') = f s@@ -805,6 +815,10 @@ newtype Tr a = Tr (State -> HsxM (a, State)) +instance Applicative Tr where+ pure = return+ (<*>) = ap+ instance Monad Tr where return a = Tr $ \s -> return (a, s) (Tr f) >>= k = Tr $ \s ->@@ -994,7 +1008,6 @@ PWildCard -> return p PIrrPat p -> tr1pat p PIrrPat (trPattern s) PatTypeSig s p t -> tr1pat p (\p -> PatTypeSig s p t) (trPattern s)- PExplTypeArg _ _ -> return p PQuasiQuote _ _ -> return p PBangPat p -> tr1pat p PBangPat (trPattern s) PNPlusK _ _ -> return p