jsaddle 0.2.0.0 → 0.2.0.1
raw patch · 4 files changed
+8/−71 lines, 4 filesdep −jmacrodep ~lensdep ~text
Dependencies removed: jmacro
Dependency ranges changed: lens, text
Files
- jsaddle.cabal +3/−14
- src/Language/Javascript/JSaddle.hs +4/−13
- src/Language/Javascript/JSaddle/JMacro.hs +0/−43
- src/Language/Javascript/JSaddle/Object.hs +1/−1
jsaddle.cabal view
@@ -1,5 +1,5 @@ name: jsaddle-version: 0.2.0.0+version: 0.2.0.1 cabal-version: >=1.10 license: MIT license-file: LICENSE@@ -33,10 +33,6 @@ description: Use WebKitGtk and JavaScriptCore for GHCJS output default: False -flag jmacro- description: Include some JMacro support- default: True- library -- Make sure ghcjs gets turned off if ghcjs-base is not avaialbe if flag(ghcjs)@@ -57,12 +53,8 @@ build-depends: webkit >=0.13.0.0 && <0.14, webkit-javascriptcore >=0.13.0.0 && <0.14 - if flag(jmacro)- exposed-modules: Language.Javascript.JSaddle.JMacro- build-depends: jmacro >=0.6.3 && <0.8-- build-depends: template-haskell -any, base <5, lens >=3.8.5 && <4.4,- text >=0.11.2.3 && <1.2, transformers >=0.3.0.0 && <0.5+ build-depends: template-haskell -any, base <5, lens >=3.8.5 && <4.6,+ text >=0.11.2.3 && <1.3, transformers >=0.3.0.0 && <0.5 exposed-modules: Language.Javascript.JSaddle Language.Javascript.JSaddle.Arguments Language.Javascript.JSaddle.Classes@@ -94,9 +86,6 @@ build-depends: gtk3, webkitgtk3, webkitgtk3-javascriptcore else build-depends: gtk, webkit, webkit-javascriptcore-- if flag(jmacro)- build-depends: jmacro build-depends: template-haskell, base, lens, text, transformers, hslogger, jsaddle
src/Language/Javascript/JSaddle.hs view
@@ -42,17 +42,11 @@ -- convert a Haskell function in the JSM monad into a javascript -- value. - -- * JMacro Support- -- | If you want a more JavaScript like syntax we also have a- -- JMacro based QuasiQuoter 'evalJM'. This converts your JMacro- -- code into a string literal and a call to @eval@ to evaluate it- -- using JavaScriptCore.- -- * GHCJS Support- -- | Because it uses webkit-javascriptcore you can compile your JSaddle code to- -- JavaScript using GHCJS <https://github.com/ghcjs/ghcjs> and run it- -- in a web browser. Calls to the WebKitGTK+ JavaScriptCore C functions- -- will be replaced with JavaScript function calls.+ -- | When built with ghcjs the code works using JavaScript FFI by default.+ -- It can also be built to use webkitgtk3-javascriptcore C FFI as there+ -- are shims for these (but this introduces a dependancy on WebKitGTK++ -- and is probably not as fast). -- * Modules module JSaddle@@ -65,7 +59,4 @@ import Language.Javascript.JSaddle.Properties as JSaddle import Language.Javascript.JSaddle.Object as JSaddle import Language.Javascript.JSaddle.Evaluate as JSaddle-#ifdef MIN_VERSION_jmacro-import Language.Javascript.JSaddle.JMacro as JSaddle-#endif import Language.Javascript.JSaddle.String as JSaddle
− src/Language/Javascript/JSaddle/JMacro.hs
@@ -1,43 +0,0 @@-{-# LANGUAGE TemplateHaskell, QuasiQuotes #-}------------------------------------------------------------------------------------ Module : Language.Javascript.JSaddle.JMacro--- Copyright : (c) Hamish Mackenzie--- License : MIT------ Maintainer : Hamish Mackenzie <Hamish.K.Mackenzie@googlemail.com>------ | Helper function to make it easy to embed JMacro in your code and--- use it from JSaddle-----------------------------------------------------------------------------------module Language.Javascript.JSaddle.JMacro (- evalJM- , evalJME-) where--import Language.Haskell.TH.Quote (QuasiQuoter(..))-import Language.Haskell.TH- (varE, appE, Lit(..), Exp(..), mkName, ExpQ)-import Language.Javascript.JMacro (jmacro, jmacroE, renderJs)---- | Quasi quoter that creates a JavaScript string from JMacro expression--- and stores it in a string litteral-evalJME :: QuasiQuoter-evalJME = jmacroE {quoteExp = quoteEvalJME}--quoteEvalJME :: String -> ExpQ-quoteEvalJME s =- appE (varE 'return) [|AppE (VarE $ mkName "Language.Javascript.JSaddle.eval")- (LitE . StringL . show $ renderJs $(quoteExp jmacroE s))|]---- | Quasi quoter that creates a JavaScript string from JMacro statement--- and stores it in a string litteral-evalJM :: QuasiQuoter-evalJM = jmacro {quoteExp = quoteEvalJM}--quoteEvalJM :: String -> ExpQ-quoteEvalJM s =- appE (varE 'return) [|AppE (VarE $ mkName "Language.Javascript.JSaddle.eval")- (LitE . StringL . show $ renderJs $(quoteExp jmacro s))|]
src/Language/Javascript/JSaddle/Object.hs view
@@ -78,7 +78,7 @@ import Language.Javascript.JSaddle.Types (JSPropertyNameArrayRef, JSStringRef, JSObjectRef, JSValueRefRef, JSValueRef, JSContextRef, Index)-import Foreign.C.Types (CSize(..), CULong(..), CUInt(..))+import Foreign.C.Types (CSize(..), CULong(..), CUInt(..), CULLong(..)) #if (defined(ghcjs_HOST_OS) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT) import GHCJS.Types (nullRef, castRef, JSArray, JSFun) import GHCJS.Foreign (newObj, toArray, fromArray, syncCallback2, ForeignRetention(..))