packages feed

jmacro 0.6.14 → 0.6.15

raw patch · 2 files changed

+29/−8 lines, 2 filesdep ~basedep ~wl-pprint-textPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: base, wl-pprint-text

API changes (from Hackage documentation)

- Language.Javascript.JMacro: JMGExpr :: JExpr -> JMGadt JExpr
- Language.Javascript.JMacro: JMGId :: Ident -> JMGadt Ident
- Language.Javascript.JMacro: JMGStat :: JStat -> JMGadt JStat
- Language.Javascript.JMacro: JMGVal :: JVal -> JMGadt JVal
+ Language.Javascript.JMacro: [JMGExpr] :: JExpr -> JMGadt JExpr
+ Language.Javascript.JMacro: [JMGId] :: Ident -> JMGadt Ident
+ Language.Javascript.JMacro: [JMGStat] :: JStat -> JMGadt JStat
+ Language.Javascript.JMacro: [JMGVal] :: JVal -> JMGadt JVal
+ Language.Javascript.JMacro.Util: infix 4 <
+ Language.Javascript.JMacro.Util: infixl 2 =:
+ Language.Javascript.JMacro.Util: infixr 3 &&
- Language.Javascript.JMacro: class ToJExpr a where toJExprFromList = ValExpr . JList . map toJExpr
+ Language.Javascript.JMacro: class ToJExpr a

Files

Language/Javascript/JMacro/Base.hs view
@@ -47,6 +47,7 @@ import qualified Data.Text as TS import Data.Generics import Data.Monoid(Monoid, mappend, mempty)+import Data.Semigroup(Semigroup(..))  import Numeric(showHex) import Safe@@ -134,12 +135,16 @@ type JsLabel = String  +instance Semigroup JStat where+    (<>) (BlockStat xs) (BlockStat ys) = BlockStat $ xs ++ ys+    (<>) (BlockStat xs) ys = BlockStat $ xs ++ [ys]+    (<>) xs (BlockStat ys) = BlockStat $ xs : ys+    (<>) xs ys = BlockStat [xs,ys]++ instance Monoid JStat where     mempty = BlockStat []-    mappend (BlockStat xs) (BlockStat ys) = BlockStat $ xs ++ ys-    mappend (BlockStat xs) ys = BlockStat $ xs ++ [ys]-    mappend xs (BlockStat ys) = BlockStat $ xs : ys-    mappend xs ys = BlockStat [xs,ys]+    mappend x y = x <> y   -- TODO: annotate expressions with type
jmacro.cabal view
@@ -1,5 +1,5 @@ name:                jmacro-version:             0.6.14+version:             0.6.15 synopsis:            QuasiQuotation library for programmatic generation of Javascript code. description:         Javascript syntax, functional syntax, hygienic names, compile-time guarantees of syntactic correctness, limited typechecking. Additional documentation available at <http://www.haskell.org/haskellwiki/Jmacro> category:            Language@@ -7,7 +7,7 @@ license-file:        LICENSE author:              Gershom Bazerman maintainer:          gershomb@gmail.com-Tested-With:         GHC == 8.0.1+Tested-With:         GHC == 8.4.2 Build-Type:          Simple Cabal-Version:       >= 1.6 @@ -29,14 +29,30 @@   default: False  executable jmacro-  build-depends:     base >= 4, base < 5, containers, wl-pprint-text, text, safe >= 0.2, parsec > 3.0, template-haskell >= 2.3, mtl > 1.1 , haskell-src-exts, haskell-src-meta, bytestring >= 0.9, syb, aeson >= 0.5 , regex-posix > 0.9, vector >= 0.8, unordered-containers >= 0.2, parseargs-  main-is: Language/Javascript/JMacro/Executable.hs+   build-depends:     base >= 4, base < 5, containers, wl-pprint-text, text, safe >= 0.2, parsec > 3.0, template-haskell >= 2.3, mtl > 1.1 , haskell-src-exts, haskell-src-meta, bytestring >= 0.9, syb, aeson >= 0.5 , regex-posix > 0.9, vector >= 0.8, unordered-containers >= 0.2, parseargs+   main-is: Language/Javascript/JMacro/Executable.hs+   other-modules: Language.Javascript.JMacro.Util+                   Language.Javascript.JMacro.TypeCheck+                   Language.Javascript.JMacro.Types+                   Language.Javascript.JMacro.Prelude+                   Language.Javascript.JMacro.Base+                   Language.Javascript.JMacro.QQ+                   Language.Javascript.JMacro.ParseTH + executable jmacro-bench   main-is: Language/Javascript/JMacro/Benchmark.hs   if flag(benchmarks)     buildable: True     build-depends: criterion+    other-modules: Language.Javascript.JMacro.Util+                   Language.Javascript.JMacro.TypeCheck+                   Language.Javascript.JMacro.Types+                   Language.Javascript.JMacro.Prelude+                   Language.Javascript.JMacro.Base+                   Language.Javascript.JMacro.QQ+                   Language.Javascript.JMacro.ParseTH+   else     buildable: False