on master help sign in
Rename jsc pakcage to JSaddle and JSC monad to JSM
commit653f998ee1d1e829c59f3ca552d77c645d3a8003 authorHamish Mackenzie <Hamish.K.Mackenzie@googlemail.com> dateSun 9 Mar 2014, 23:32 (13 years ago) parentf6726d9
16 files changed+291−290
README.md+4−3 jsc.cabal → jsaddle.cabal+13−13 src/Language/Javascript/JSC.hs → src/Language/Javascript/JSaddle.hs+29−29 src/Language/Javascript/JSC/Arguments.hs → src/Language/Javascript/JSaddle/Arguments.hs+5−5 src/Language/Javascript/JSC/Classes.hs → src/Language/Javascript/JSaddle/Classes.hs+11−11 src/Language/Javascript/JSC/Evaluate.hs → src/Language/Javascript/JSaddle/Evaluate.hs+12−12 src/Language/Javascript/JSC/Exception.hs → src/Language/Javascript/JSaddle/Exception.hs+5−5 src/Language/Javascript/JSC/JMacro.hs → src/Language/Javascript/JSaddle/JMacro.hs+5−5 src/Language/Javascript/JSC/Monad.hs → src/Language/Javascript/JSaddle/Monad.hs+20−20 src/Language/Javascript/JSC/Object.hs → src/Language/Javascript/JSaddle/Object.hs+59−59 src/Language/Javascript/JSC/PropRef.hs → src/Language/Javascript/JSaddle/PropRef.hs+3−3 src/Language/Javascript/JSC/Properties.hs → src/Language/Javascript/JSaddle/Properties.hs+20−20 src/Language/Javascript/JSC/String.hs → src/Language/Javascript/JSaddle/String.hs+4−4 src/Language/Javascript/JSC/Types.hs → src/Language/Javascript/JSaddle/Types.hs+2−2 src/Language/Javascript/JSC/Value.hs → src/Language/Javascript/JSaddle/Value.hs+87−87 tests/TestJSC.hs → tests/TestJSaddle.hs+12−12
README.md+4−3
@@ -1,4 +1,5 @@
1−jsc
2−===
1+JSaddle
2+=======
33
4−High level interface for webkit-javascriptcore
4+A EDSL (embedded domain specific language) interface for JavaScript.
5+Works with GHCJS or webkitgtk3-javascriptcore.
jsc.cabal → jsaddle.cabalrenamed+13−13
@@ -1,4 +1,4 @@
1−name: jsc
1+name: jsaddle
22version: 0.1.1.2
33cabal-version: >=1.10
44license: MIT
@@ -15,7 +15,7 @@ build-type: Simple
1515
1616Source-Repository head
1717 type: git
18− location: https://github.com/ghcjs/jsc
18+ location: https://github.com/ghcjs/jsaddle
1919
2020flag gtk3
2121 Description: Use GTK3 rather than GTK2
@@ -48,24 +48,24 @@ library
4848 webkit-javascriptcore >=0.12.5 && <0.13
4949
5050 if flag(jmacro)
51− exposed-modules: Language.Javascript.JSC.JMacro
51+ exposed-modules: Language.Javascript.JSaddle.JMacro
5252 build-depends: jmacro >=0.6.3 && <0.8
5353
5454 build-depends: template-haskell -any, base <5, lens >=3.8.5 && <4.1,
5555 text >=0.11.2.3 && <1.2, transformers >=0.3.0.0 && <0.4
5656
57− exposed-modules: Language.Javascript.JSC
58− Language.Javascript.JSC.Arguments Language.Javascript.JSC.Classes
59− Language.Javascript.JSC.Evaluate Language.Javascript.JSC.Exception
60− Language.Javascript.JSC.Monad
61− Language.Javascript.JSC.Object Language.Javascript.JSC.Properties
62− Language.Javascript.JSC.String Language.Javascript.JSC.Value
63− Language.Javascript.JSC.Types
57+ exposed-modules: Language.Javascript.JSaddle
58+ Language.Javascript.JSaddle.Arguments Language.Javascript.JSaddle.Classes
59+ Language.Javascript.JSaddle.Evaluate Language.Javascript.JSaddle.Exception
60+ Language.Javascript.JSaddle.Monad
61+ Language.Javascript.JSaddle.Object Language.Javascript.JSaddle.Properties
62+ Language.Javascript.JSaddle.String Language.Javascript.JSaddle.Value
63+ Language.Javascript.JSaddle.Types
6464 exposed: True
6565 buildable: True
6666 default-language: Haskell2010
6767 hs-source-dirs: src
68− other-modules: Language.Javascript.JSC.PropRef
68+ other-modules: Language.Javascript.JSaddle.PropRef
6969
7070test-suite test-tool
7171 if flag(jsffi)
@@ -92,8 +92,8 @@ test-suite test-tool
9292
9393 build-depends: template-haskell -any, base <5, lens >=3.8.5 && <4.1,
9494 text >=0.11.2.3 && <1.2, transformers >=0.3.0.0 && <0.4,
95− hslogger -any, jsc ==0.1.1.2
95+ hslogger -any, jsaddle ==0.1.1.2
9696 type: exitcode-stdio-1.0
97− main-is: TestJSC.hs
97+ main-is: TestJSaddle.hs
9898 default-language: Haskell2010
9999 hs-source-dirs: tests
src/Language/Javascript/JSC.hs → src/Language/Javascript/JSaddle.hsrenamed+29−29
@@ -1,7 +1,7 @@
11{-# LANGUAGE CPP #-}
22-----------------------------------------------------------------------------
33--
4−-- Module : Language.Javascript.JSC
4+-- Module : Language.Javascript.JSaddle
55-- Copyright : (c) Hamish Mackenzie
66-- License : MIT
77--
@@ -12,34 +12,34 @@
1212-- in the webkit-javascriptcore library <https://github.com/ghcjs/webkit-javascriptcore>.
1313-----------------------------------------------------------------------------
1414
15−module Language.Javascript.JSC (
16− -- * JSC EDSL
17− -- | The 'JSC' monad gives us the context for evaluation. In keeping
15+module Language.Javascript.JSaddle (
16+ -- * JSaddle EDSL
17+ -- | The 'JSM' monad gives us the context for evaluation. In keeping
1818 -- with JavaScript the EDSL has
1919 --
2020 -- * /Weakish typing/ - type classes are used to convert to JSValueRef
2121 -- and JSObjectRef types
2222 --
23− -- * /Strict evaluation/ - function in the 'JSC' monad can be passed in
23+ -- * /Strict evaluation/ - function in the 'JSM' monad can be passed in
2424 -- place of a value and will evaluated and converted to JSValueRef or
2525 -- JSObjectRef and then passed on to JavaScript
2626 --
27− -- JSC should be used to write wrappers for JavaScript libraries that provide
27+ -- JSaddle should be used to write wrappers for JavaScript libraries that provide
2828 -- more type safety.
2929
3030 -- * Code Examples
3131 -- | The code examples in this documentation are executed with a 'runjs'
32− -- function that executes the example code in the JSC monad and converts
32+ -- function that executes the example code in the JSM monad and converts
3333 -- the result to 'Text' with 'valToText'. It also catches unhandled
34− -- exceptions with 'catch'. The source code can be found in tests/TestJSC.hs
34+ -- exceptions with 'catch'. The source code can be found in tests/TestJSaddle.hs
3535 --
3636 -- Where it makes sense code examples are given in two forms. One
3737 -- that uses 'eval' to run a purely JavaScript version and one that
38− -- uses more of the JSC EDSL feature being demonstated.
38+ -- uses more of the JSaddle EDSL feature being demonstated.
3939
4040 -- * Calling Haskell from JavaScript
4141 -- | You can call back into haskell from JavaScript using 'fun' to
42− -- convert a Haskell function in the JSC monad into a javascript
42+ -- convert a Haskell function in the JSM monad into a javascript
4343 -- value.
4444
4545 -- * JMacro Support
@@ -49,33 +49,33 @@ module Language.Javascript.JSC (
4949 -- using JavaScriptCore.
5050
5151 -- * GHCJS Support
52− -- | Because it uses webkit-javascriptcore you can compile your JSC code to
52+ -- | Because it uses webkit-javascriptcore you can compile your JSaddle code to
5353 -- JavaScript using GHCJS <https://github.com/ghcjs/ghcjs> and run it
5454 -- in a web browser. Calls to the WebKitGTK+ JavaScriptCore C functions
5555 -- will be replaced with JavaScript function calls.
5656
5757 -- * Modules
58− module Language.Javascript.JSC.Monad
59− , module Language.Javascript.JSC.Exception
60− , module Language.Javascript.JSC.Value
61− , module Language.Javascript.JSC.Arguments
62− , module Language.Javascript.JSC.Properties
63− , module Language.Javascript.JSC.Object
64− , module Language.Javascript.JSC.Evaluate
58+ module Language.Javascript.JSaddle.Monad
59+ , module Language.Javascript.JSaddle.Exception
60+ , module Language.Javascript.JSaddle.Value
61+ , module Language.Javascript.JSaddle.Arguments
62+ , module Language.Javascript.JSaddle.Properties
63+ , module Language.Javascript.JSaddle.Object
64+ , module Language.Javascript.JSaddle.Evaluate
6565#ifdef MIN_VERSION_jmacro
66− , module Language.Javascript.JSC.JMacro
66+ , module Language.Javascript.JSaddle.JMacro
6767#endif
68− , module Language.Javascript.JSC.String
68+ , module Language.Javascript.JSaddle.String
6969) where
7070
71−import Language.Javascript.JSC.Monad
72−import Language.Javascript.JSC.Exception
73−import Language.Javascript.JSC.Value
74−import Language.Javascript.JSC.Arguments
75−import Language.Javascript.JSC.Properties
76−import Language.Javascript.JSC.Object
77−import Language.Javascript.JSC.Evaluate
71+import Language.Javascript.JSaddle.Monad
72+import Language.Javascript.JSaddle.Exception
73+import Language.Javascript.JSaddle.Value
74+import Language.Javascript.JSaddle.Arguments
75+import Language.Javascript.JSaddle.Properties
76+import Language.Javascript.JSaddle.Object
77+import Language.Javascript.JSaddle.Evaluate
7878#ifdef MIN_VERSION_jmacro
79−import Language.Javascript.JSC.JMacro
79+import Language.Javascript.JSaddle.JMacro
8080#endif
81−import Language.Javascript.JSC.String
81+import Language.Javascript.JSaddle.String
src/Language/Javascript/JSC/Arguments.hs → src/Language/Javascript/JSaddle/Arguments.hsrenamed+5−5
@@ -2,7 +2,7 @@
22{-# LANGUAGE TypeSynonymInstances #-}
33-----------------------------------------------------------------------------
44--
5−-- Module : Language.Javascript.JSC.Arguments
5+-- Module : Language.Javascript.JSaddle.Arguments
66-- Copyright : (c) Hamish Mackenzie
77-- License : MIT
88--
@@ -12,15 +12,15 @@
1212--
1313-----------------------------------------------------------------------------
1414
15−module Language.Javascript.JSC.Arguments (
15+module Language.Javascript.JSaddle.Arguments (
1616 MakeArgRefs(..)
1717) where
1818
19−import Language.Javascript.JSC.Classes
19+import Language.Javascript.JSaddle.Classes
2020 (MakeValueRef(..), MakeValueRef, MakeArgRefs(..), MakeArgRefs)
21−import Language.Javascript.JSC.Monad (JSC)
21+import Language.Javascript.JSaddle.Monad (JSM)
2222
23−instance MakeArgRefs arg => MakeArgRefs (JSC arg) where
23+instance MakeArgRefs arg => MakeArgRefs (JSM arg) where
2424 makeArgRefs arg = arg >>= makeArgRefs
2525
2626instance MakeValueRef arg => MakeArgRefs [arg] where
src/Language/Javascript/JSC/Classes.hs → src/Language/Javascript/JSaddle/Classes.hsrenamed+11−11
@@ -1,18 +1,18 @@
11-----------------------------------------------------------------------------
22--
3−-- Module : Language.Javascript.JSC.Classes
3+-- Module : Language.Javascript.JSaddle.Classes
44-- Copyright : (c) Hamish Mackenzie
55-- License : MIT
66--
77-- Maintainer : Hamish Mackenzie <Hamish.K.Mackenzie@googlemail.com>
88--
9−-- | These classes are used to make various JavaScriptCore types
10−-- out of whatever we have. Functions in jsc take these as inputs.
9+-- | These classes are used to make various JavaScript types
10+-- out of whatever we have. Functions in jsaddle take these as inputs.
1111-- This alows implicit casting and eager evaluation.
1212--
1313-----------------------------------------------------------------------------
1414
15−module Language.Javascript.JSC.Classes (
15+module Language.Javascript.JSaddle.Classes (
1616 -- * Type classes to convert Haskell data to JavaScript
1717 MakeValueRef(..)
1818 , MakeStringRef(..)
@@ -22,14 +22,14 @@ module Language.Javascript.JSC.Classes (
2222) where
2323
2424import Control.Monad.IO.Class (MonadIO)
25−import Language.Javascript.JSC.Types
25+import Language.Javascript.JSaddle.Types
2626 (JSObjectRef, JSStringRef, JSValueRef)
27−import Language.Javascript.JSC.Monad (JSC)
28−import Language.Javascript.JSC.PropRef (JSPropRef)
27+import Language.Javascript.JSaddle.Monad (JSM)
28+import Language.Javascript.JSaddle.PropRef (JSPropRef)
2929
3030-- | Anything that can be used to make a JavaScript value reference
3131class MakeValueRef a where
32− makeValueRef :: a -> JSC JSValueRef
32+ makeValueRef :: a -> JSM JSValueRef
3333
3434-- | Anything that can be used to make a JavaScript string reference
3535class MakeStringRef a where
@@ -38,15 +38,15 @@ class MakeStringRef a where
3838-- | Anything that can be used to make a list of JavaScript value
3939-- references for use as function arguments
4040class MakeArgRefs this where
41− makeArgRefs :: this -> JSC [JSValueRef]
41+ makeArgRefs :: this -> JSM [JSValueRef]
4242
4343-- | Anything that can be used to make a JavaScript object reference
4444class MakeObjectRef this where
45− makeObjectRef :: this -> JSC JSObjectRef
45+ makeObjectRef :: this -> JSM JSObjectRef
4646
4747-- | Anything that can be used to make a JavaScript property reference
4848class MakePropRef this where
49− makePropRef :: this -> JSC JSPropRef
49+ makePropRef :: this -> JSM JSPropRef
5050
5151
5252
src/Language/Javascript/JSC/Evaluate.hs → src/Language/Javascript/JSaddle/Evaluate.hsrenamed+12−12
@@ -4,7 +4,7 @@
44#endif
55-----------------------------------------------------------------------------
66--
7−-- Module : Language.Javascript.JSC.Evaluate
7+-- Module : Language.Javascript.JSaddle.Evaluate
88-- Copyright : (c) Hamish Mackenzie
99-- License : MIT
1010--
@@ -15,14 +15,14 @@
1515--
1616-----------------------------------------------------------------------------
1717
18−module Language.Javascript.JSC.Evaluate (
18+module Language.Javascript.JSaddle.Evaluate (
1919 evaluateScript
2020 , eval
2121) where
2222
2323import Control.Monad.Trans.Reader (ask)
2424import Control.Monad.IO.Class (MonadIO(..))
25−import Language.Javascript.JSC.Types
25+import Language.Javascript.JSaddle.Types
2626 (JSStringRef, JSValueRef, JSObjectRef,
2727 JSValueRefRef)
2828#if (defined(ghcjs_HOST_OS) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
@@ -32,25 +32,25 @@ import Graphics.UI.Gtk.WebKit.JavaScriptCore.JSBase
3232 (jsevaluatescript)
3333import Foreign (nullPtr)
3434#endif
35−import Language.Javascript.JSC.Exception (rethrow)
36−import Language.Javascript.JSC.Value ()
37−import Language.Javascript.JSC.Object ()
38−import Language.Javascript.JSC.Classes
35+import Language.Javascript.JSaddle.Exception (rethrow)
36+import Language.Javascript.JSaddle.Value ()
37+import Language.Javascript.JSaddle.Object ()
38+import Language.Javascript.JSaddle.Classes
3939 (MakeObjectRef(..), MakeStringRef(..))
40−import Language.Javascript.JSC.Monad (JSC)
40+import Language.Javascript.JSaddle.Monad (JSM)
4141
4242
4343-- | Evaluates a script (like eval in java script). Unlike 'eval' this function lets you
4444-- specify a source URL and starting line number for beter error information.
4545--
46−-- >>> testJSC $ (evaluateScript "\n\n{" global "FileName" 53 >>= valToText) `catch` \(JSException e) -> array (e,e!"sourceURL", e!"line") >>= valToText
46+-- >>> testJSaddle $ (evaluateScript "\n\n{" global "FileName" 53 >>= valToText) `catch` \(JSException e) -> array (e,e!"sourceURL", e!"line") >>= valToText
4747-- SyntaxError: Expected token '}',FileName,55
4848evaluateScript :: (MakeStringRef script, MakeObjectRef this, MakeStringRef url)
4949 => script -- ^ JavaScript to evaluate
5050 -> this
5151 -> url
5252 -> Int -- ^ The Line number of the first line of the script
53− -> JSC JSValueRef
53+ -> JSM JSValueRef
5454#if defined(ghcjs_HOST_OS) && defined(USE_JAVASCRIPTFFI)
5555evaluateScript script this url line = liftIO $ js_eval (makeStringRef script)
5656foreign import javascript unsafe "$r = eval(s);"
@@ -66,11 +66,11 @@ evaluateScript = undefined
6666
6767-- | Evaluates a script (like eval in java script)
6868--
69−-- >>> testJSC $ eval "1+1"
69+-- >>> testJSaddle $ eval "1+1"
7070-- 2
7171eval :: MakeStringRef script
7272 => script -- ^ JavaScript to evaluate
73− -> JSC JSValueRef
73+ -> JSM JSValueRef
7474#if (defined(ghcjs_HOST_OS) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
7575eval script = evaluateScript script (nullRef::JSObjectRef) (nullRef::JSStringRef) 1
7676#else
src/Language/Javascript/JSC/Exception.hs → src/Language/Javascript/JSaddle/Exception.hsrenamed+5−5
@@ -1,7 +1,7 @@
11{-# LANGUAGE DeriveDataTypeable #-}
22-----------------------------------------------------------------------------
33--
4−-- Module : Language.Javascript.JSC.Exception
4+-- Module : Language.Javascript.JSaddle.Exception
55-- Copyright : (c) Hamish Mackenzie
66-- License : MIT
77--
@@ -11,16 +11,16 @@
1111--
1212-----------------------------------------------------------------------------
1313
14−module Language.Javascript.JSC.Exception (
14+module Language.Javascript.JSaddle.Exception (
1515 JSException(..)
1616 , rethrow
1717) where
1818
1919import qualified Control.Exception as E (throwIO, Exception)
20−import Language.Javascript.JSC.Types
20+import Language.Javascript.JSaddle.Types
2121 (JSValueRefRef, JSValueRef)
2222import Data.Typeable (Typeable)
23−import Language.Javascript.JSC.Monad (catchval, JSC)
23+import Language.Javascript.JSaddle.Monad (catchval, JSM)
2424import Control.Monad.IO.Class (MonadIO(..))
2525import Data.Text (Text)
2626
@@ -29,7 +29,7 @@ data JSException = JSException JSValueRef deriving (Show, Typeable)
2929instance E.Exception JSException
3030
3131-- | Catch JavaScript exceptions and rethrow Haskell ones
32−rethrow :: (JSValueRefRef -> JSC a) -> JSC a
32+rethrow :: (JSValueRefRef -> JSM a) -> JSM a
3333rethrow f = f `catchval` \e -> do
3434 liftIO . E.throwIO $ JSException e
3535
src/Language/Javascript/JSC/JMacro.hs → src/Language/Javascript/JSaddle/JMacro.hsrenamed+5−5
@@ -1,18 +1,18 @@
11{-# LANGUAGE TemplateHaskell, QuasiQuotes #-}
22-----------------------------------------------------------------------------
33--
4−-- Module : Language.Javascript.JSC.JMacro
4+-- Module : Language.Javascript.JSaddle.JMacro
55-- Copyright : (c) Hamish Mackenzie
66-- License : MIT
77--
88-- Maintainer : Hamish Mackenzie <Hamish.K.Mackenzie@googlemail.com>
99--
1010-- | Helper function to make it easy to embed JMacro in your code and
11−-- use it from JSC
11+-- use it from JSaddle
1212--
1313-----------------------------------------------------------------------------
1414
15−module Language.Javascript.JSC.JMacro (
15+module Language.Javascript.JSaddle.JMacro (
1616 evalJM
1717 , evalJME
1818) where
@@ -29,7 +29,7 @@ evalJME = jmacroE {quoteExp = quoteEvalJME}
2929
3030quoteEvalJME :: String -> ExpQ
3131quoteEvalJME s =
32− appE (varE 'return) [|AppE (VarE $ mkName "Language.Javascript.JSC.eval")
32+ appE (varE 'return) [|AppE (VarE $ mkName "Language.Javascript.JSaddle.eval")
3333 (LitE . StringL . show $ renderJs $(quoteExp jmacroE s))|]
3434
3535-- | Quasi quoter that creates a JavaScript string from JMacro statement
@@ -39,5 +39,5 @@ evalJM = jmacro {quoteExp = quoteEvalJM}
3939
4040quoteEvalJM :: String -> ExpQ
4141quoteEvalJM s =
42− appE (varE 'return) [|AppE (VarE $ mkName "Language.Javascript.JSC.eval")
42+ appE (varE 'return) [|AppE (VarE $ mkName "Language.Javascript.JSaddle.eval")
4343 (LitE . StringL . show $ renderJs $(quoteExp jmacro s))|]
src/Language/Javascript/JSC/Monad.hs → src/Language/Javascript/JSaddle/Monad.hsrenamed+20−20
@@ -1,24 +1,24 @@
11{-# LANGUAGE CPP #-}
22-----------------------------------------------------------------------------
33--
4−-- Module : Language.Javascript.JSC.Monad
4+-- Module : Language.Javascript.JSaddle.Monad
55-- Copyright : (c) Hamish Mackenzie
66-- License : MIT
77--
88-- Maintainer : Hamish Mackenzie <Hamish.K.Mackenzie@googlemail.com>
99--
10−-- | JSC monad keeps track of the JavaScript context
10+-- | JSM monad keeps track of the JavaScript context
1111--
1212-----------------------------------------------------------------------------
1313
14−module Language.Javascript.JSC.Monad (
14+module Language.Javascript.JSaddle.Monad (
1515 -- * Types
16− JSC(..)
16+ JSM(..)
1717 , JSContextRef
1818
19− -- * Running JSC given a DOM Window
20− , runJSC
21− , runJSC_
19+ -- * Running JSaddle given a DOM Window
20+ , runJSaddle
21+ , runJSaddle_
2222
2323 -- * Exception Handling
2424 , catchval
@@ -27,7 +27,7 @@ module Language.Javascript.JSC.Monad (
2727
2828import Prelude hiding (catch)
2929import Control.Monad.Trans.Reader (runReaderT, ask, ReaderT(..))
30−import Language.Javascript.JSC.Types
30+import Language.Javascript.JSaddle.Types
3131 (JSValueRefRef, JSValueRef, JSContextRef)
3232import Control.Monad.IO.Class (MonadIO(..))
3333#if (defined(ghcjs_HOST_OS) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
@@ -45,18 +45,18 @@ import Graphics.UI.Gtk.WebKit.JavaScriptCore.WebFrame
4545#endif
4646import qualified Control.Exception as E (Exception, catch)
4747
48−-- | The @JSC@ monad keeps track of the JavaScript context.
48+-- | The @JSM@ monad keeps track of the JavaScript context.
4949--
50−-- Given a @JSC@ function and a 'JSContextRef' you can run the
50+-- Given a @JSM@ function and a 'JSContextRef' you can run the
5151-- function like this...
5252--
53−-- > runReaderT jscFunction javaScriptContext
53+-- > runReaderT jsmFunction javaScriptContext
5454--
55−-- For an example of how to set up WebKitGTK+ see tests/TestJSC.hs
56−type JSC = ReaderT JSContextRef IO
55+-- For an example of how to set up WebKitGTK+ see tests/TestJSaddle.hs
56+type JSM = ReaderT JSContextRef IO
5757
5858-- | Wrapped version of 'E.catch' that runs in a MonadIO that works
59−-- a bit better with 'JSC'
59+-- a bit better with 'JSM'
6060catch :: (MonadIO m, E.Exception e)
6161 => ReaderT r IO b
6262 -> (e -> ReaderT r IO b)
@@ -67,7 +67,7 @@ t `catch` c = do
6767
6868-- | Handle JavaScriptCore functions that take a JSValueRefRef in order
6969-- to throw exceptions.
70−catchval :: (JSValueRefRef -> JSC a) -> (JSValueRef -> JSC a) -> JSC a
70+catchval :: (JSValueRefRef -> JSM a) -> (JSValueRef -> JSM a) -> JSM a
7171catchval f catcher = do
7272#if (defined(ghcjs_HOST_OS) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
7373 pexc <- liftIO $ newArray
@@ -88,13 +88,13 @@ catchval f catcher = do
8888#endif
8989
9090#if (defined(ghcjs_HOST_OS) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
91−runJSC :: w -> JSC a -> IO a
92−runJSC _ f = runReaderT f ()
91+runJSaddle :: w -> JSM a -> IO a
92+runJSaddle _ f = runReaderT f ()
9393#else
94−runJSC :: WebView -> JSC a -> IO a
95−runJSC webView f = do
94+runJSaddle :: WebView -> JSM a -> IO a
95+runJSaddle webView f = do
9696 gctxt <- webViewGetMainFrame webView >>= webFrameGetGlobalContext
9797 runReaderT f gctxt
9898#endif
9999
100−runJSC_ w f = runJSC w f >> return ()
100+runJSaddle_ w f = runJSaddle w f >> return ()
src/Language/Javascript/JSC/Object.hs → src/Language/Javascript/JSaddle/Object.hsrenamed+59−59
@@ -9,7 +9,7 @@
99#endif
1010-----------------------------------------------------------------------------
1111--
12−-- Module : Language.Javascript.JSC.Object
12+-- Module : Language.Javascript.JSaddle.Object
1313-- Copyright : (c) Hamish Mackenzie
1414-- License : MIT
1515--
@@ -19,7 +19,7 @@
1919--
2020-----------------------------------------------------------------------------
2121
22−module Language.Javascript.JSC.Object (
22+module Language.Javascript.JSaddle.Object (
2323 JSObjectRef
2424 , MakeObjectRef(..)
2525
@@ -75,7 +75,7 @@ module Language.Javascript.JSC.Object (
7575) where
7676
7777import Prelude hiding ((!!))
78−import Language.Javascript.JSC.Types
78+import Language.Javascript.JSaddle.Types
7979 (JSPropertyNameArrayRef, JSStringRef, JSObjectRef, JSValueRefRef,
8080 JSValueRef, JSContextRef, Index)
8181import Foreign.C.Types (CSize(..), CULong(..), CUInt(..))
@@ -99,46 +99,46 @@ import Graphics.UI.Gtk.WebKit.JavaScriptCore.JSContextRef
9999 (jscontextgetglobalobject)
100100import Foreign (peekArray, nullPtr, withArrayLen)
101101#endif
102−import Language.Javascript.JSC.Exception (rethrow)
103−import Language.Javascript.JSC.Value
102+import Language.Javascript.JSaddle.Exception (rethrow)
103+import Language.Javascript.JSaddle.Value
104104 (JSUndefined, valMakeUndefined, valToObject)
105−import Language.Javascript.JSC.PropRef (JSPropRef(..))
106−import Language.Javascript.JSC.Classes
105+import Language.Javascript.JSaddle.PropRef (JSPropRef(..))
106+import Language.Javascript.JSaddle.Classes
107107 (MakeValueRef(..), MakeStringRef(..), MakeArgRefs(..), MakePropRef(..),
108108 MakeObjectRef(..))
109−import Language.Javascript.JSC.Monad
110− (JSC)
109+import Language.Javascript.JSaddle.Monad
110+ (JSM)
111111import Control.Monad.Trans.Reader (runReaderT, ask)
112112import Control.Monad.IO.Class (MonadIO(..))
113113import qualified Control.Exception as E (catch)
114114import Control.Exception (SomeException)
115115import qualified Data.Text as T (pack)
116116import Foreign.Storable (Storable(..))
117−import Language.Javascript.JSC.Properties
117+import Language.Javascript.JSaddle.Properties
118118import Control.Lens
119119 (IndexPreservingGetter, to, (^.))
120−import Language.Javascript.JSC.String (textToStr)
120+import Language.Javascript.JSaddle.String (textToStr)
121121
122122-- | If we already have a JSObjectRef we are fine
123123instance MakeObjectRef JSObjectRef where
124124 makeObjectRef = return
125125
126−-- | JSObjectRef can be made by evaluating a function in 'JSC' as long
126+-- | JSObjectRef can be made by evaluating a function in 'JSM' as long
127127-- as it returns something we can make into a JSObjectRef.
128−instance MakeObjectRef v => MakeObjectRef (JSC v) where
128+instance MakeObjectRef v => MakeObjectRef (JSM v) where
129129 makeObjectRef v = v >>= makeObjectRef
130130
131131-- | Lookup a property based on its name. This function just constructs a JSPropRef
132132-- the lookup is delayed until we use the JSPropRef. This makes it a bit lazy compared
133133-- to JavaScript's @.@ operator.
134134--
135−-- >>> testJSC $ eval "'Hello World'.length"
136−-- >>> testJSC $ val "Hello World" ! "length"
135+-- >>> testJSaddle $ eval "'Hello World'.length"
136+-- >>> testJSaddle $ val "Hello World" ! "length"
137137-- 11
138138(!) :: (MakeObjectRef this, MakeStringRef name)
139139 => this -- ^ Object to look on
140140 -> name -- ^ Name of the property to find
141− -> JSC JSPropRef -- ^ Property reference
141+ -> JSM JSPropRef -- ^ Property reference
142142this ! name = do
143143 rthis <- makeObjectRef this
144144 return (JSPropRef rthis rname)
@@ -149,13 +149,13 @@ this ! name = do
149149-- the lookup is delayed until we use the JSPropRef. This makes it a bit lazy compared
150150-- to JavaScript's @[]@ operator.
151151--
152−-- >>> testJSC $ eval "'Hello World'[6]"
153−-- >>> testJSC $ val "Hello World" !! 6
152+-- >>> testJSaddle $ eval "'Hello World'[6]"
153+-- >>> testJSaddle $ val "Hello World" !! 6
154154-- W
155155(!!) :: (MakeObjectRef this)
156156 => this -- ^ Object to look on
157157 -> Index -- ^ Index of the property to lookup
158− -> JSC JSPropRef -- ^ Property reference
158+ -> JSM JSPropRef -- ^ Property reference
159159this !! index = do
160160 rthis <- makeObjectRef this
161161 return (JSPropIndexRef rthis index)
@@ -164,22 +164,22 @@ this !! index = do
164164--
165165-- > js name = to (!name)
166166--
167−-- >>> testJSC $ eval "'Hello World'.length"
168−-- >>> testJSC $ val "Hello World" ^. js "length"
167+-- >>> testJSaddle $ eval "'Hello World'.length"
168+-- >>> testJSaddle $ val "Hello World" ^. js "length"
169169-- 11
170170js :: (MakeObjectRef s, MakeStringRef name)
171171 => name -- ^ Name of the property to find
172− -> IndexPreservingGetter s (JSC JSPropRef)
172+ -> IndexPreservingGetter s (JSM JSPropRef)
173173js name = to (!name)
174174
175175-- | Java script function applications have this type
176−type JSF = MakeObjectRef o => IndexPreservingGetter o (JSC JSValueRef)
176+type JSF = MakeObjectRef o => IndexPreservingGetter o (JSM JSValueRef)
177177
178178-- | Handy way to call a function
179179--
180180-- > jsf name = js name . to (# args)
181181--
182−-- >>> testJSC $ val "Hello World" ^. jsf "indexOf" ["World"]
182+-- >>> testJSaddle $ val "Hello World" ^. jsf "indexOf" ["World"]
183183-- 6
184184jsf :: (MakeStringRef name, MakeArgRefs args) => name -> args -> JSF
185185jsf name args = function . to (# args)
@@ -190,7 +190,7 @@ jsf name args = function . to (# args)
190190--
191191-- > js0 name = jsf name ()
192192--
193−-- >>> testJSC $ val "Hello World" ^. js0 "toLowerCase"
193+-- >>> testJSaddle $ val "Hello World" ^. js0 "toLowerCase"
194194-- hello world
195195js0 :: (MakeStringRef name) => name -> JSF
196196js0 name = jsf name ()
@@ -199,7 +199,7 @@ js0 name = jsf name ()
199199--
200200-- > js1 name a0 = jsf name [a0]
201201--
202−-- >>> testJSC $ val "Hello World" ^. js1 "indexOf" "World"
202+-- >>> testJSaddle $ val "Hello World" ^. js1 "indexOf" "World"
203203-- 6
204204js1 :: (MakeStringRef name, MakeValueRef a0) => name -> a0 -> JSF
205205js1 name a0 = jsf name [a0]
@@ -228,20 +228,20 @@ js5 name a0 a1 a2 a3 a4 = jsf name (a0, a1, a2, a3, a4)
228228
229229-- | Handy way to get and hold onto a reference top level javascript
230230--
231−-- >>> testJSC $ eval "w = console; w.log('Hello World')"
232−-- >>> testJSC $ do w <- jsg "console"; w ^. js "log" # ["Hello World"]
231+-- >>> testJSaddle $ eval "w = console; w.log('Hello World')"
232+-- >>> testJSaddle $ do w <- jsg "console"; w ^. js "log" # ["Hello World"]
233233-- 11
234−jsg :: MakeStringRef a => a -> JSC JSPropRef
234+jsg :: MakeStringRef a => a -> JSM JSPropRef
235235jsg name = global ! name
236236
237237-- | Call a JavaScript function
238238--
239−-- >>> testJSC $ eval "'Hello World'.indexOf('World')"
240−-- >>> testJSC $ val "Hello World" ! "indexOf" # ["World"]
239+-- >>> testJSaddle $ eval "'Hello World'.indexOf('World')"
240+-- >>> testJSaddle $ val "Hello World" ! "indexOf" # ["World"]
241241-- 6
242242infixr 2 #
243243(#) :: (MakePropRef prop, MakeArgRefs args)
244− => prop -> args -> JSC JSValueRef
244+ => prop -> args -> JSM JSValueRef
245245prop # args = do
246246 rprop <- makePropRef prop
247247 (this, f) <- objGetProperty' rprop
@@ -249,14 +249,14 @@ prop # args = do
249249
250250-- | Call a JavaScript function
251251--
252−-- >>> testJSC $ eval "var j = {}; j.x = 1; j.x"
253−-- >>> testJSC $ do {j <- eval "({})"; j!"x" <# 1; j!"x"}
252+-- >>> testJSaddle $ eval "var j = {}; j.x = 1; j.x"
253+-- >>> testJSaddle $ do {j <- eval "({})"; j!"x" <# 1; j!"x"}
254254-- 1
255255infixr 0 <#
256256(<#) :: (MakePropRef prop, MakeValueRef val)
257257 => prop -- ^ Property to set
258258 -> val -- ^ Value to set it to
259− -> JSC JSPropRef -- ^ Reference to the property set
259+ -> JSM JSPropRef -- ^ Reference to the property set
260260prop <# val = do
261261 p <- makePropRef prop
262262 objSetProperty p val
@@ -264,23 +264,23 @@ prop <# val = do
264264
265265-- | Use this to create a new JavaScript object
266266--
267−-- >>> testJSC $ new "Date" (2013, 1, 1)
267+-- >>> testJSaddle $ new "Date" (2013, 1, 1)
268268-- Fri Feb 01 2013 00:00:00 GMT+1300 (NZDT)
269269new :: (MakeObjectRef constructor, MakeArgRefs args)
270270 => constructor
271271 -> args
272− -> JSC JSValueRef
272+ -> JSM JSValueRef
273273new constructor args = do
274274 f <- makeObjectRef constructor
275275 rethrow $ objCallAsConstructor f args
276276
277277-- | Call function with a given @this@. In most cases you should use '#'.
278278--
279−-- >>> testJSC $ eval "(function(){return this;}).apply('Hello', [])"
280−-- >>> testJSC $ do { test <- eval "(function(){return this;})"; call test (val "Hello") () }
279+-- >>> testJSaddle $ eval "(function(){return this;}).apply('Hello', [])"
280+-- >>> testJSaddle $ do { test <- eval "(function(){return this;})"; call test (val "Hello") () }
281281-- Hello
282282call :: (MakeObjectRef function, MakeObjectRef this, MakeArgRefs args)
283− => function -> this -> args -> JSC JSValueRef
283+ => function -> this -> args -> JSM JSValueRef
284284call function this args = do
285285 rfunction <- makeObjectRef function
286286 rthis <- makeObjectRef this
@@ -288,10 +288,10 @@ call function this args = do
288288
289289-- | Make an empty object using the default constuctor
290290--
291−-- >>> testJSC $ eval "var a = {}; a.x = 'Hello'; a.x"
292−-- >>> testJSC $ do { a <- obj; a ^. js "x" <# "Hello"; a ^. js "x" }
291+-- >>> testJSaddle $ eval "var a = {}; a.x = 'Hello'; a.x"
292+-- >>> testJSaddle $ do { a <- obj; a ^. js "x" <# "Hello"; a ^. js "x" }
293293-- Hello
294−obj :: JSC JSObjectRef
294+obj :: JSM JSObjectRef
295295#if (defined(ghcjs_HOST_OS) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
296296obj = liftIO $ newObj
297297#else
@@ -304,7 +304,7 @@ obj = do
304304type JSCallAsFunction = JSValueRef -- ^ Function object
305305 -> JSValueRef -- ^ this
306306 -> [JSValueRef] -- ^ Function arguments
307− -> JSC JSUndefined -- ^ Only 'JSUndefined' can be returned because
307+ -> JSM JSUndefined -- ^ Only 'JSUndefined' can be returned because
308308 -- the function may need to be executed in a
309309 -- different thread. If you need to get a
310310 -- value out pass in a continuation function
@@ -313,8 +313,8 @@ type JSCallAsFunction = JSValueRef -- ^ Function object
313313-- | Short hand @::JSCallAsFunction@ so a haskell function can be passed to
314314-- a to a JavaScipt one.
315315--
316−-- >>> testJSC $ eval "(function(f) {f('Hello');})(function (a) {console.log(a)})"
317−-- >>> testJSC $ call (eval "(function(f) {f('Hello');})") global [fun $ \ _ _ args -> valToText (head args) >>= (liftIO . putStrLn . T.unpack) ]
316+-- >>> testJSaddle $ eval "(function(f) {f('Hello');})(function (a) {console.log(a)})"
317+-- >>> testJSaddle $ call (eval "(function(f) {f('Hello');})") global [fun $ \ _ _ args -> valToText (head args) >>= (liftIO . putStrLn . T.unpack) ]
318318-- Hello
319319-- undefined
320320fun :: JSCallAsFunction -> JSCallAsFunction
@@ -329,7 +329,7 @@ foreign import ccall "wrapper"
329329function :: MakeStringRef name
330330 => name -- ^ Name of the function
331331 -> JSCallAsFunction -- ^ Haskell function to call
332− -> JSC JSObjectRef -- ^ Returns a JavaScript function object that will
332+ -> JSM JSObjectRef -- ^ Returns a JavaScript function object that will
333333 -- call the Haskell one when it is called
334334#if defined(ghcjs_HOST_OS) && defined(USE_JAVASCRIPTFFI)
335335function name f = liftIO $ do
@@ -376,7 +376,7 @@ instance MakeArgRefs JSCallAsFunction where
376376#endif
377377 return [rarg]
378378
379−makeArray :: MakeArgRefs args => args -> JSValueRefRef -> JSC JSObjectRef
379+makeArray :: MakeArgRefs args => args -> JSValueRefRef -> JSM JSObjectRef
380380#if (defined(ghcjs_HOST_OS) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
381381makeArray args exceptions = makeArgRefs args >>= liftM castRef . liftIO . toArray
382382#else
@@ -389,17 +389,17 @@ makeArray args exceptions = do
389389
390390-- | Make an JavaScript array from a list of values
391391--
392−-- >>> testJSC $ eval "['Hello', 'World'][1]"
393−-- >>> testJSC $ array ["Hello", "World"] !! 1
392+-- >>> testJSaddle $ eval "['Hello', 'World'][1]"
393+-- >>> testJSaddle $ array ["Hello", "World"] !! 1
394394-- World
395−-- >>> testJSC $ eval "['Hello', null, undefined, true, 1]"
396−-- >>> testJSC $ array ("Hello", JSNull, (), True, 1.0::Double)
395+-- >>> testJSaddle $ eval "['Hello', null, undefined, true, 1]"
396+-- >>> testJSaddle $ array ("Hello", JSNull, (), True, 1.0::Double)
397397-- Hello,,,true,1
398−array :: MakeArgRefs args => args -> JSC JSObjectRef
398+array :: MakeArgRefs args => args -> JSM JSObjectRef
399399array = rethrow . makeArray
400400
401401-- | JavaScript's global object
402−global :: JSC JSObjectRef
402+global :: JSM JSObjectRef
403403#if defined(ghcjs_HOST_OS) && defined(USE_JAVASCRIPTFFI)
404404global = liftIO js_window
405405foreign import javascript unsafe "$r = window"
@@ -412,7 +412,7 @@ global = undefined
412412
413413-- | Get an array containing the property names present on a given object
414414#if (!defined(ghcjs_HOST_OS) || !defined(USE_JAVASCRIPTFFI)) && defined(USE_WEBKIT)
415−copyPropertyNames :: MakeObjectRef this => this -> JSC JSPropertyNameArrayRef
415+copyPropertyNames :: MakeObjectRef this => this -> JSM JSPropertyNameArrayRef
416416copyPropertyNames this = do
417417 gctxt <- ask
418418 rthis <- makeObjectRef this
@@ -434,7 +434,7 @@ propertyNamesList names = do
434434#endif
435435
436436-- | Get a list containing the property names present on a given object
437−propertyNames :: MakeObjectRef this => this -> JSC [JSStringRef]
437+propertyNames :: MakeObjectRef this => this -> JSM [JSStringRef]
438438#if defined(ghcjs_HOST_OS) && defined(USE_JAVASCRIPTFFI)
439439propertyNames this = makeObjectRef this >>= liftIO . js_propertyNames >>= liftIO . fromArray
440440foreign import javascript unsafe "$r = []; h$forIn($1, function(n){$r.push(n);})"
@@ -446,7 +446,7 @@ propertyNames = undefined
446446#endif
447447
448448-- | Get a list containing references to all the properties present on a given object
449−properties :: MakeObjectRef this => this -> JSC [JSPropRef]
449+properties :: MakeObjectRef this => this -> JSM [JSPropRef]
450450properties this = propertyNames this >>= mapM (this !)
451451
452452-- | Call a JavaScript object as function. Consider using '#'.
@@ -455,7 +455,7 @@ objCallAsFunction :: MakeArgRefs args
455455 -> JSObjectRef
456456 -> args
457457 -> JSValueRefRef
458− -> JSC JSValueRef
458+ -> JSM JSValueRef
459459#if defined(ghcjs_HOST_OS) && defined(USE_JAVASCRIPTFFI)
460460objCallAsFunction function this args exceptions = do
461461 rargs <- makeArgRefs args >>= liftIO . toArray
@@ -477,7 +477,7 @@ objCallAsConstructor :: MakeArgRefs args
477477 => JSObjectRef
478478 -> args
479479 -> JSValueRefRef
480− -> JSC JSValueRef
480+ -> JSM JSValueRef
481481#if defined(ghcjs_HOST_OS) && defined(USE_JAVASCRIPTFFI)
482482objCallAsConstructor function args exceptions = do
483483 rargs <- makeArgRefs args >>= liftIO . toArray
src/Language/Javascript/JSC/PropRef.hs → src/Language/Javascript/JSaddle/PropRef.hsrenamed+3−3
@@ -1,6 +1,6 @@
11-----------------------------------------------------------------------------
22--
3−-- Module : Language.Javascript.JSC.PropRef
3+-- Module : Language.Javascript.JSaddle.PropRef
44-- Copyright : (c) Hamish Mackenzie
55-- License : MIT
66--
@@ -10,11 +10,11 @@
1010--
1111-----------------------------------------------------------------------------
1212
13−module Language.Javascript.JSC.PropRef (
13+module Language.Javascript.JSaddle.PropRef (
1414 JSPropRef(..)
1515) where
1616
17−import Language.Javascript.JSC.Types
17+import Language.Javascript.JSaddle.Types
1818 (JSStringRef, JSObjectRef, Index)
1919
2020-- | A reference to a property.
src/Language/Javascript/JSC/Properties.hs → src/Language/Javascript/JSaddle/Properties.hsrenamed+20−20
@@ -6,21 +6,21 @@
66#endif
77-----------------------------------------------------------------------------
88--
9−-- Module : Language.Javascript.JSC.Properties
9+-- Module : Language.Javascript.JSaddle.Properties
1010-- Copyright : (c) Hamish Mackenzie
1111-- License : MIT
1212--
1313-- Maintainer : Hamish Mackenzie <Hamish.K.Mackenzie@googlemail.com>
1414--
1515-- | Low level JavaScript object property access. In most cases you
16−-- should use "Language.Javascript.JSC.Object" instead.
16+-- should use "Language.Javascript.JSaddle.Object" instead.
1717--
1818-- This module is mostly here to implement functions needed to use
1919-- 'JSPropRef'.
2020--
2121-----------------------------------------------------------------------------
2222
23−module Language.Javascript.JSC.Properties (
23+module Language.Javascript.JSaddle.Properties (
2424 -- * Propery Reference
2525 JSPropRef(..)
2626 , MakePropRef(..)
@@ -37,12 +37,12 @@ module Language.Javascript.JSC.Properties (
3737) where
3838
3939import Control.Applicative ((<$>))
40−import Language.Javascript.JSC.PropRef (JSPropRef(..))
41−import Language.Javascript.JSC.Classes
40+import Language.Javascript.JSaddle.PropRef (JSPropRef(..))
41+import Language.Javascript.JSaddle.Classes
4242 (MakePropRef(..), MakeObjectRef(..), MakeValueRef(..),
4343 MakeArgRefs(..), MakeStringRef(..))
44−import Language.Javascript.JSC.Monad (JSC)
45−import Language.Javascript.JSC.Types
44+import Language.Javascript.JSaddle.Monad (JSM)
45+import Language.Javascript.JSaddle.Types
4646 (JSValueRefRef, JSObjectRef, JSPropertyAttributes,
4747 Index(..), JSStringRef)
4848#if (defined(ghcjs_HOST_OS) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
@@ -54,18 +54,18 @@ import Graphics.UI.Gtk.WebKit.JavaScriptCore.JSObjectRef
5454#endif
5555import Control.Monad.Trans.Reader (ask)
5656import Control.Monad.IO.Class (MonadIO(..))
57−import Language.Javascript.JSC.Exception (rethrow)
58−import Language.Javascript.JSC.Value (JSValueRef)
59−import Language.Javascript.JSC.Arguments ()
60−import Language.Javascript.JSC.String ()
57+import Language.Javascript.JSaddle.Exception (rethrow)
58+import Language.Javascript.JSaddle.Value (JSValueRef)
59+import Language.Javascript.JSaddle.Arguments ()
60+import Language.Javascript.JSaddle.String ()
6161
6262-- | If we already have a JSPropRef we are fine
6363instance MakePropRef JSPropRef where
6464 makePropRef = return
6565
66−-- | JSPropRef can be made by evaluating a function in 'JSC' as long
66+-- | JSPropRef can be made by evaluating a function in 'JSM' as long
6767-- as it returns something we can make into a JSPropRef.
68−instance MakePropRef prop => MakePropRef (JSC prop) where
68+instance MakePropRef prop => MakePropRef (JSM prop) where
6969 makePropRef prop = prop >>= makePropRef
7070
7171-- | We can use a property as an object.
@@ -87,7 +87,7 @@ objGetPropertyByName :: MakeStringRef name
8787 => JSObjectRef -- ^ object to find the property on.
8888 -> name -- ^ name of the property.
8989 -> JSValueRefRef -- ^ exception if one is raised.
90− -> JSC JSValueRef -- ^ returns the property value.
90+ -> JSM JSValueRef -- ^ returns the property value.
9191#if defined(ghcjs_HOST_OS) && defined(USE_JAVASCRIPTFFI)
9292objGetPropertyByName this name = liftIO . js_tryGetProp (makeStringRef name) this
9393foreign import javascript unsafe "try { $r=$2[$1] } catch(e) { $3[0] = e }"
@@ -104,7 +104,7 @@ objGetPropertyByName = undefined
104104objGetPropertyAtIndex :: JSObjectRef -- ^ object to find the property on.
105105 -> Index -- ^ index of the property.
106106 -> JSValueRefRef -- ^ exception if one is raised.
107− -> JSC JSValueRef -- ^ returns the property value.
107+ -> JSM JSValueRef -- ^ returns the property value.
108108#if defined(ghcjs_HOST_OS) && defined(USE_JAVASCRIPTFFI)
109109objGetPropertyAtIndex this index = liftIO . js_tryIndex index this
110110foreign import javascript unsafe "try { $r=$2[$1] } catch(e) { $3[0] = e }"
@@ -119,7 +119,7 @@ objGetPropertyAtIndex = undefined
119119
120120-- | Gets the value of a property given a 'JSPropRef'.
121121objGetProperty :: JSPropRef -- ^ property reference.
122− -> JSC JSValueRef -- ^ returns the property value.
122+ -> JSM JSValueRef -- ^ returns the property value.
123123objGetProperty (JSPropRef this name ) =
124124 rethrow $ objGetPropertyByName this name
125125objGetProperty (JSPropIndexRef this index) =
@@ -128,7 +128,7 @@ objGetProperty (JSPropIndexRef this index) =
128128-- | This version of 'objGetProperty' is handy when you also need to perform.
129129-- another operation on the object the property is on.
130130objGetProperty' :: JSPropRef -- ^ property reference.
131− -> JSC (JSObjectRef, JSValueRef) -- ^ returns the object and property value.
131+ -> JSM (JSObjectRef, JSValueRef) -- ^ returns the object and property value.
132132objGetProperty' (JSPropRef this name) = do
133133 p <- rethrow $ objGetPropertyByName this name
134134 return (this, p)
@@ -144,7 +144,7 @@ objSetPropertyByName :: (MakeStringRef name, MakeValueRef val)
144144 -> val -- ^ new value to set the property to.
145145 -> JSPropertyAttributes -- ^ property attributes to give the property.
146146 -> JSValueRefRef -- ^ exception if one is raised.
147− -> JSC ()
147+ -> JSM ()
148148#if defined(ghcjs_HOST_OS) && defined(USE_JAVASCRIPTFFI)
149149objSetPropertyByName this name val attributes exceptions = do
150150 vref <- makeValueRef val
@@ -166,7 +166,7 @@ objSetPropertyAtIndex :: (MakeValueRef val)
166166 -> Index -- ^ index of the property.
167167 -> val -- ^ new value to set the property to.
168168 -> JSValueRefRef -- ^ exception if one is raised.
169− -> JSC ()
169+ -> JSM ()
170170#if defined(ghcjs_HOST_OS) && defined(USE_JAVASCRIPTFFI)
171171objSetPropertyAtIndex this index val exceptions = do
172172 vref <- makeValueRef val
@@ -186,7 +186,7 @@ objSetPropertyAtIndex = undefined
186186objSetProperty :: (MakeValueRef val)
187187 => JSPropRef -- ^ property reference.
188188 -> val -- ^ new value to set the property to.
189− -> JSC ()
189+ -> JSM ()
190190objSetProperty (JSPropRef this name ) val = rethrow $ objSetPropertyByName this name val 0
191191objSetProperty (JSPropIndexRef this index) val = rethrow $ objSetPropertyAtIndex this index val
192192
src/Language/Javascript/JSC/String.hs → src/Language/Javascript/JSaddle/String.hsrenamed+4−4
@@ -3,7 +3,7 @@
33{-# LANGUAGE TypeSynonymInstances #-}
44-----------------------------------------------------------------------------
55--
6−-- Module : Language.Javascript.JSC.String
6+-- Module : Language.Javascript.JSaddle.String
77-- Copyright : (c) Hamish Mackenzie
88-- License : MIT
99--
@@ -13,7 +13,7 @@
1313--
1414-----------------------------------------------------------------------------
1515
16−module Language.Javascript.JSC.String (
16+module Language.Javascript.JSaddle.String (
1717 JSStringRef
1818 , MakeStringRef(..)
1919
@@ -25,7 +25,7 @@ module Language.Javascript.JSC.String (
2525import Data.Text (Text)
2626import qualified Data.Text as T (pack)
2727import Control.Monad.IO.Class (MonadIO(..))
28−import Language.Javascript.JSC.Types (JSStringRef)
28+import Language.Javascript.JSaddle.Types (JSStringRef)
2929#if (defined(ghcjs_HOST_OS) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
3030import GHCJS.Foreign (fromJSString, toJSString)
3131#else
@@ -36,7 +36,7 @@ import Graphics.UI.Gtk.WebKit.JavaScriptCore.JSStringRef
3636import qualified Data.Text.Foreign as T (fromPtr)
3737import Foreign (castPtr)
3838import Data.Text.Foreign (useAsPtr)
39−import Language.Javascript.JSC.Classes (MakeStringRef(..))
39+import Language.Javascript.JSaddle.Classes (MakeStringRef(..))
4040import System.IO.Unsafe (unsafePerformIO)
4141
4242-- | If we already have a JSStringRef we are fine
src/Language/Javascript/JSC/Types.hs → src/Language/Javascript/JSaddle/Types.hsrenamed+2−2
@@ -1,7 +1,7 @@
11{-# LANGUAGE CPP, FlexibleInstances #-}
22-----------------------------------------------------------------------------
33--
4−-- Module : Language.Javascript.JSC.Properties
4+-- Module : Language.Javascript.JSaddle.Properties
55-- Copyright : (c) Hamish Mackenzie
66-- License : MIT
77--
@@ -11,7 +11,7 @@
1111--
1212-----------------------------------------------------------------------------
1313
14−module Language.Javascript.JSC.Types (
14+module Language.Javascript.JSaddle.Types (
1515 JSValueRef(..)
1616 , JSValueRefRef(..)
1717 , JSObjectRef(..)
src/Language/Javascript/JSC/Value.hs → src/Language/Javascript/JSaddle/Value.hsrenamed+87−87
@@ -7,7 +7,7 @@
77#endif
88-----------------------------------------------------------------------------
99--
10−-- Module : Language.Javascript.JSC.Value
10+-- Module : Language.Javascript.JSaddle.Value
1111-- Copyright : (c) Hamish Mackenzie
1212-- License : MIT
1313--
@@ -29,7 +29,7 @@
2929--
3030-----------------------------------------------------------------------------
3131
32−module Language.Javascript.JSC.Value (
32+module Language.Javascript.JSaddle.Value (
3333 -- * JavaScript value references
3434 JSValueRef
3535 , MakeValueRef(..)
@@ -64,7 +64,7 @@ module Language.Javascript.JSC.Value (
6464) where
6565
6666import Prelude hiding (catch)
67−import Language.Javascript.JSC.Types
67+import Language.Javascript.JSaddle.Types
6868 (JSValueRefRef, JSObjectRef, JSStringRef, JSValueRef)
6969#if (defined(ghcjs_HOST_OS) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
7070import GHCJS.Types (castRef, JSRef(..))
@@ -80,8 +80,8 @@ import Graphics.UI.Gtk.WebKit.JavaScriptCore.JSStringRef
8080 (jsstringcreatewithcharacters, jsstringgetcharactersptr,
8181 jsstringgetlength)
8282#endif
83−import Language.Javascript.JSC.Monad (JSC, catchval)
84−import Language.Javascript.JSC.Exception (rethrow)
83+import Language.Javascript.JSaddle.Monad (JSM, catchval)
84+import Language.Javascript.JSaddle.Exception (rethrow)
8585import Control.Monad.Trans.Reader (ask)
8686import Control.Monad.IO.Class (MonadIO, MonadIO(..))
8787import qualified Data.Text.Foreign as T (fromPtr)
@@ -90,11 +90,11 @@ import Data.Text.Foreign (useAsPtr)
9090import Control.Applicative ((<$>))
9191import Data.Text (Text)
9292import qualified Data.Text as T (pack)
93−import Language.Javascript.JSC.Classes
93+import Language.Javascript.JSaddle.Classes
9494 (MakeObjectRef(..), MakeStringRef(..), MakeValueRef(..),
9595 MakeArgRefs(..))
96−import Language.Javascript.JSC.String (strToText, textToStr)
97−import Language.Javascript.JSC.Arguments ()
96+import Language.Javascript.JSaddle.String (strToText, textToStr)
97+import Language.Javascript.JSaddle.Arguments ()
9898import Data.Word (Word)
9999
100100data JSNull = JSNull -- ^ Type that represents a value that can only be null.
@@ -119,23 +119,23 @@ data JSValue = ValNull -- ^ null
119119-- | Given a JavaScript value get its boolean value.
120120-- All values in JavaScript convert to bool.
121121--
122−-- >>> testJSC $ valToBool JSNull
122+-- >>> testJSaddle $ valToBool JSNull
123123-- false
124−-- >>> testJSC $ valToBool ()
124+-- >>> testJSaddle $ valToBool ()
125125-- false
126−-- >>> testJSC $ valToBool True
126+-- >>> testJSaddle $ valToBool True
127127-- true
128−-- >>> testJSC $ valToBool False
128+-- >>> testJSaddle $ valToBool False
129129-- false
130−-- >>> testJSC $ valToBool (1.0 :: Double)
130+-- >>> testJSaddle $ valToBool (1.0 :: Double)
131131-- true
132−-- >>> testJSC $ valToBool (0.0 :: Double)
132+-- >>> testJSaddle $ valToBool (0.0 :: Double)
133133-- false
134−-- >>> testJSC $ valToBool ""
134+-- >>> testJSaddle $ valToBool ""
135135-- false
136−-- >>> testJSC $ valToBool "1"
136+-- >>> testJSaddle $ valToBool "1"
137137-- true
138−valToBool :: MakeValueRef val => val -> JSC JSBool
138+valToBool :: MakeValueRef val => val -> JSM JSBool
139139#if (defined(ghcjs_HOST_OS) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
140140valToBool val = fromJSBool' <$> makeValueRef val
141141#else
@@ -148,23 +148,23 @@ valToBool val = do
148148-- | Given a JavaScript value get its numeric value.
149149-- May throw JSException.
150150--
151−-- >>> testJSC $ show <$> valToNumber JSNull
151+-- >>> testJSaddle $ show <$> valToNumber JSNull
152152-- 0.0
153−-- >>> testJSC $ show <$> valToNumber ()
153+-- >>> testJSaddle $ show <$> valToNumber ()
154154-- NaN
155−-- >>> testJSC $ show <$> valToNumber True
155+-- >>> testJSaddle $ show <$> valToNumber True
156156-- 1.0
157−-- >>> testJSC $ show <$> valToNumber False
157+-- >>> testJSaddle $ show <$> valToNumber False
158158-- 0.0
159−-- >>> testJSC $ show <$> valToNumber (1.0 :: Double)
159+-- >>> testJSaddle $ show <$> valToNumber (1.0 :: Double)
160160-- 1.0
161−-- >>> testJSC $ show <$> valToNumber (0.0 :: Double)
161+-- >>> testJSaddle $ show <$> valToNumber (0.0 :: Double)
162162-- 0.0
163−-- >>> testJSC $ show <$> valToNumber ""
163+-- >>> testJSaddle $ show <$> valToNumber ""
164164-- 0.0
165−-- >>> testJSC $ show <$> valToNumber "1"
165+-- >>> testJSaddle $ show <$> valToNumber "1"
166166-- 1.0
167−valToNumber :: MakeValueRef val => val -> JSC JSNumber
167+valToNumber :: MakeValueRef val => val -> JSM JSNumber
168168#if defined(ghcjs_HOST_OS) && defined(USE_JAVASCRIPTFFI)
169169valToNumber val = jsrefToNumber <$> makeValueRef val
170170foreign import javascript unsafe "$r = Number($1);" jsrefToNumber :: JSRef a -> Double
@@ -180,23 +180,23 @@ valToNumber = undefined
180180-- | Given a JavaScript value get its string value (as a JavaScript string).
181181-- May throw JSException.
182182--
183−-- >>> testJSC $ valToStr JSNull >>= strToText
183+-- >>> testJSaddle $ valToStr JSNull >>= strToText
184184-- null
185−-- >>> testJSC $ valToStr () >>= strToText
185+-- >>> testJSaddle $ valToStr () >>= strToText
186186-- undefined
187−-- >>> testJSC $ valToStr True >>= strToText
187+-- >>> testJSaddle $ valToStr True >>= strToText
188188-- true
189−-- >>> testJSC $ valToStr False >>= strToText
189+-- >>> testJSaddle $ valToStr False >>= strToText
190190-- false
191−-- >>> testJSC $ valToStr (1.0 :: Double) >>= strToText
191+-- >>> testJSaddle $ valToStr (1.0 :: Double) >>= strToText
192192-- 1
193−-- >>> testJSC $ valToStr (0.0 :: Double) >>= strToText
193+-- >>> testJSaddle $ valToStr (0.0 :: Double) >>= strToText
194194-- 0
195−-- >>> testJSC $ valToStr "" >>= strToText
195+-- >>> testJSaddle $ valToStr "" >>= strToText
196196--
197−-- >>> testJSC $ valToStr "1" >>= strToText
197+-- >>> testJSaddle $ valToStr "1" >>= strToText
198198-- 1
199−valToStr :: MakeValueRef val => val -> JSC JSStringRef
199+valToStr :: MakeValueRef val => val -> JSM JSStringRef
200200#if defined(ghcjs_HOST_OS) && defined(USE_JAVASCRIPTFFI)
201201valToStr val = jsrefToString <$> makeValueRef val
202202foreign import javascript unsafe "$r = $1.toString();" jsrefToString :: JSRef a -> JSStringRef
@@ -212,47 +212,47 @@ valToStr = undefined
212212-- | Given a JavaScript value get its string value (as a Haskell 'Text').
213213-- May throw JSException.
214214--
215−-- >>> testJSC $ show <$> valToText JSNull
215+-- >>> testJSaddle $ show <$> valToText JSNull
216216-- "null"
217−-- >>> testJSC $ show <$> valToText ()
217+-- >>> testJSaddle $ show <$> valToText ()
218218-- "undefined"
219−-- >>> testJSC $ show <$> valToText True
219+-- >>> testJSaddle $ show <$> valToText True
220220-- "true"
221−-- >>> testJSC $ show <$> valToText False
221+-- >>> testJSaddle $ show <$> valToText False
222222-- "false"
223−-- >>> testJSC $ show <$> valToText (1.0 :: Double)
223+-- >>> testJSaddle $ show <$> valToText (1.0 :: Double)
224224-- "1"
225−-- >>> testJSC $ show <$> valToText (0.0 :: Double)
225+-- >>> testJSaddle $ show <$> valToText (0.0 :: Double)
226226-- "0"
227−-- >>> testJSC $ show <$> valToText ""
227+-- >>> testJSaddle $ show <$> valToText ""
228228-- ""
229−-- >>> testJSC $ show <$> valToText "1"
229+-- >>> testJSaddle $ show <$> valToText "1"
230230-- "1"
231−valToText :: MakeValueRef val => val -> JSC Text
231+valToText :: MakeValueRef val => val -> JSM Text
232232valToText jsvar = valToStr jsvar >>= strToText
233233
234234-- | Given a JavaScript value get a JSON string value.
235235-- May throw JSException.
236236--
237−-- >>> testJSC $ valToJSON 0 JSNull >>= strToText
237+-- >>> testJSaddle $ valToJSON 0 JSNull >>= strToText
238238-- null
239−-- >>> testJSC $ valToJSON 0 () >>= strToText
239+-- >>> testJSaddle $ valToJSON 0 () >>= strToText
240240--
241−-- >>> testJSC $ valToJSON 0 True >>= strToText
241+-- >>> testJSaddle $ valToJSON 0 True >>= strToText
242242-- true
243−-- >>> testJSC $ valToJSON 0 False >>= strToText
243+-- >>> testJSaddle $ valToJSON 0 False >>= strToText
244244-- false
245−-- >>> testJSC $ valToJSON 0 (1.0 :: Double) >>= strToText
245+-- >>> testJSaddle $ valToJSON 0 (1.0 :: Double) >>= strToText
246246-- 1
247−-- >>> testJSC $ valToJSON 0 (0.0 :: Double) >>= strToText
247+-- >>> testJSaddle $ valToJSON 0 (0.0 :: Double) >>= strToText
248248-- 0
249−-- >>> testJSC $ valToJSON 0 "" >>= strToText
249+-- >>> testJSaddle $ valToJSON 0 "" >>= strToText
250250-- ""
251−-- >>> testJSC $ valToJSON 0 "1" >>= strToText
251+-- >>> testJSaddle $ valToJSON 0 "1" >>= strToText
252252-- "1"
253−-- >>> testJSC $ obj >>= valToJSON 0 >>= strToText
253+-- >>> testJSaddle $ obj >>= valToJSON 0 >>= strToText
254254-- {}
255−valToJSON :: MakeValueRef val => Word -> val -> JSC JSStringRef
255+valToJSON :: MakeValueRef val => Word -> val -> JSM JSStringRef
256256#if defined(ghcjs_HOST_OS) && defined(USE_JAVASCRIPTFFI)
257257valToJSON indent val = jsrefToJSON <$> makeValueRef val
258258foreign import javascript unsafe "$r = JSON.stringify($1);" jsrefToJSON :: JSRef a -> JSStringRef
@@ -268,23 +268,23 @@ valToJSON = undefined
268268-- | Given a JavaScript value get its object value.
269269-- May throw JSException.
270270--
271−-- >>> testJSC $ (valToObject JSNull >>= valToText) `catch` \ (JSException e) -> valToText e
271+-- >>> testJSaddle $ (valToObject JSNull >>= valToText) `catch` \ (JSException e) -> valToText e
272272-- TypeError: 'null' is not an object
273−-- >>> testJSC $ (valToObject () >>= valToText) `catch` \ (JSException e) -> valToText e
273+-- >>> testJSaddle $ (valToObject () >>= valToText) `catch` \ (JSException e) -> valToText e
274274-- TypeError: 'undefined' is not an object
275−-- >>> testJSC $ valToObject True
275+-- >>> testJSaddle $ valToObject True
276276-- true
277−-- >>> testJSC $ valToObject False
277+-- >>> testJSaddle $ valToObject False
278278-- false
279−-- >>> testJSC $ valToObject (1.0 :: Double)
279+-- >>> testJSaddle $ valToObject (1.0 :: Double)
280280-- 1
281−-- >>> testJSC $ valToObject (0.0 :: Double)
281+-- >>> testJSaddle $ valToObject (0.0 :: Double)
282282-- 0
283−-- >>> testJSC $ valToObject ""
283+-- >>> testJSaddle $ valToObject ""
284284--
285−-- >>> testJSC $ valToObject "1"
285+-- >>> testJSaddle $ valToObject "1"
286286-- 1
287−valToObject :: MakeValueRef val => val -> JSC JSObjectRef
287+valToObject :: MakeValueRef val => val -> JSM JSObjectRef
288288#if (defined(ghcjs_HOST_OS) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
289289valToObject val = castRef <$> makeValueRef val
290290#else
@@ -297,7 +297,7 @@ valToObject val = do
297297-- | Convert to a JavaScript value (just an alias for 'makeValueRef')
298298val :: MakeValueRef value
299299 => value -- ^ value to convert to a JavaScript value
300− -> JSC JSValueRef
300+ -> JSM JSValueRef
301301val = makeValueRef
302302
303303-- | If we already have a JSValueRef we are fine
@@ -308,14 +308,14 @@ instance MakeValueRef JSValueRef where
308308instance MakeArgRefs JSValueRef where
309309 makeArgRefs arg = return [arg]
310310
311−-- | JSValueRef can be made by evaluating a function in 'JSC' as long
311+-- | JSValueRef can be made by evaluating a function in 'JSM' as long
312312-- as it returns something we can make into a JSValueRef.
313−instance MakeValueRef v => MakeValueRef (JSC v) where
313+instance MakeValueRef v => MakeValueRef (JSM v) where
314314 makeValueRef v = v >>= makeValueRef
315315
316316----------- null ---------------
317317-- | Make a @null@ JavaScript value
318−valMakeNull :: JSC JSValueRef
318+valMakeNull :: JSM JSValueRef
319319#if (defined(ghcjs_HOST_OS) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
320320valMakeNull = return jsNull
321321#else
@@ -332,7 +332,7 @@ instance MakeArgRefs JSNull where
332332
333333----------- undefined ---------------
334334-- | Make an @undefined@ JavaScript value
335−valMakeUndefined :: JSC JSValueRef
335+valMakeUndefined :: JSM JSValueRef
336336#if (defined(ghcjs_HOST_OS) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
337337valMakeUndefined = return jsUndefined
338338#else
@@ -354,7 +354,7 @@ instance MakeArgRefs () where
354354
355355----------- booleans ---------------
356356-- | Make a JavaScript boolean value
357−valMakeBool :: JSBool -> JSC JSValueRef
357+valMakeBool :: JSBool -> JSM JSValueRef
358358#if (defined(ghcjs_HOST_OS) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
359359valMakeBool b = return . castRef $ toJSBool b
360360#else
@@ -373,7 +373,7 @@ instance MakeArgRefs Bool where
373373
374374----------- numbers ---------------
375375-- | Make a JavaScript number
376−valMakeNumber :: JSNumber -> JSC JSValueRef
376+valMakeNumber :: JSNumber -> JSM JSValueRef
377377#if (defined(ghcjs_HOST_OS) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
378378valMakeNumber n = liftIO $ castRef <$> toJSRef n
379379#else
@@ -392,7 +392,7 @@ instance MakeArgRefs Double where
392392
393393----------- numbers ---------------
394394-- | Make a JavaScript string
395−valMakeString :: Text -> JSC JSValueRef
395+valMakeString :: Text -> JSM JSValueRef
396396#if (defined(ghcjs_HOST_OS) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
397397valMakeString = return . castRef . toJSString
398398#else
@@ -415,25 +415,25 @@ instance MakeValueRef String where
415415
416416-- | Derefernce a value reference.
417417--
418−-- >>> testJSC $ show <$> deRefVal JSNull
418+-- >>> testJSaddle $ show <$> deRefVal JSNull
419419-- ValNull
420−-- >>> testJSC $ show <$> deRefVal ()
420+-- >>> testJSaddle $ show <$> deRefVal ()
421421-- ValUndefined
422−-- >>> testJSC $ show <$> deRefVal True
422+-- >>> testJSaddle $ show <$> deRefVal True
423423-- ValBool True
424−-- >>> testJSC $ show <$> deRefVal False
424+-- >>> testJSaddle $ show <$> deRefVal False
425425-- ValBool False
426−-- >>> testJSC $ show <$> deRefVal (1.0 :: Double)
426+-- >>> testJSaddle $ show <$> deRefVal (1.0 :: Double)
427427-- ValNumber 1.0
428−-- >>> testJSC $ show <$> deRefVal (0.0 :: Double)
428+-- >>> testJSaddle $ show <$> deRefVal (0.0 :: Double)
429429-- ValNumber 0.0
430−-- >>> testJSC $ show <$> deRefVal ""
430+-- >>> testJSaddle $ show <$> deRefVal ""
431431-- ValString ""
432−-- >>> testJSC $ show <$> deRefVal "1"
432+-- >>> testJSaddle $ show <$> deRefVal "1"
433433-- ValString "1"
434−-- >>> testJSC $ show <$> valToObject True >>= deRefVal
434+-- >>> testJSaddle $ show <$> valToObject True >>= deRefVal
435435-- ValObject 0x...
436−deRefVal :: MakeValueRef val => val -> JSC JSValue
436+deRefVal :: MakeValueRef val => val -> JSM JSValue
437437#if defined(ghcjs_HOST_OS) && defined(USE_JAVASCRIPTFFI)
438438deRefVal val = do
439439 gctxt <- ask
@@ -469,17 +469,17 @@ deRefVal = undefined
469469
470470-- | Make a JavaScript value out of a 'JSValue' ADT.
471471--
472−-- >>> testJSC $ valMakeRef ValNull
472+-- >>> testJSaddle $ valMakeRef ValNull
473473-- "null"
474−-- >>> testJSC $ valMakeRef ValUndefined
474+-- >>> testJSaddle $ valMakeRef ValUndefined
475475-- "undefined"
476−-- >>> testJSC $ valMakeRef (ValBool True)
476+-- >>> testJSaddle $ valMakeRef (ValBool True)
477477-- "true"
478−-- >>> testJSC $ valMakeRef (ValNumber 1)
478+-- >>> testJSaddle $ valMakeRef (ValNumber 1)
479479-- "1"
480−-- >>> testJSC $ valMakeRef (ValString $ pack "Hello")
480+-- >>> testJSaddle $ valMakeRef (ValString $ pack "Hello")
481481-- "Hello"
482−valMakeRef :: JSValue -> JSC JSValueRef
482+valMakeRef :: JSValue -> JSM JSValueRef
483483valMakeRef val =
484484 case val of
485485 ValNull -> valMakeNull
tests/TestJSC.hs → tests/TestJSaddle.hsrenamed+12−12
@@ -33,7 +33,7 @@ import Control.Monad.Trans.Reader (runReaderT)
3333import Graphics.UI.Gtk.WebKit.JavaScriptCore.JSBase (JSContextRef)
3434import Graphics.UI.Gtk.WebKit.JavaScriptCore.WebFrame
3535 (webFrameGetGlobalContext)
36−import Language.Javascript.JSC
36+import Language.Javascript.JSaddle
3737import Data.Text (Text)
3838import qualified Data.Text as T
3939import Control.Applicative
@@ -48,18 +48,18 @@ data TestState = TestState { jsContext :: JSContextRef, window :: Window }
4848state = unsafePerformIO $ newMVar Nothing
4949done = unsafePerformIO $ newEmptyMVar
5050
51−-- >>> testJSC $ ((global ^. js "console" . js "log") # ["Hello"])
52−testJSC :: MakeValueRef val => JSC val -> IO ()
53−testJSC = testJSC' False
51+-- >>> testJSaddle $ ((global ^. js "console" . js "log") # ["Hello"])
52+testJSaddle :: MakeValueRef val => JSM val -> IO ()
53+testJSaddle = testJSaddle' False
5454
55−-- >>> showJSC $ eval "document.body.innerHTML = 'Test'"
56−showJSC :: MakeValueRef val => JSC val -> IO ()
57−showJSC = testJSC' True
55+-- >>> showJSaddle $ eval "document.body.innerHTML = 'Test'"
56+showJSaddle :: MakeValueRef val => JSM val -> IO ()
57+showJSaddle = testJSaddle' True
5858
59−debugLog = debugM "jsc"
59+debugLog = debugM "jsaddle"
6060
61−testJSC' :: MakeValueRef val => Bool -> JSC val -> IO ()
62−testJSC' showWindow f = do
61+testJSaddle' :: MakeValueRef val => Bool -> JSM val -> IO ()
62+testJSaddle' showWindow f = do
6363 debugLog "taking done"
6464 tryTakeMVar done
6565 debugLog "taking state"
@@ -113,12 +113,12 @@ testJSC' showWindow f = do
113113 return x
114114
115115main = do
116− testJSC $ return ()
116+ testJSaddle $ return ()
117117 Just TestState{..} <- takeMVar state
118118 postGUIAsync $ widgetDestroy window
119119 takeMVar done
120120
121−listWindowProperties = testJSC $ T.pack . show <$> do
121+listWindowProperties = testJSaddle $ T.pack . show <$> do
122122 window <- jsg "window"
123123 names <- propertyNames window
124124 forM names $ \name -> do