packages feed

HJScript 0.4.7 → 0.4.8

raw patch · 5 files changed

+50/−6 lines, 5 filesdep ~HJavaScriptPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: HJavaScript

API changes (from Hackage documentation)

+ HJScript.Lang: delete :: Var a -> Exp Bool
+ HJScript.Lang: forIn :: (IsDeref d) => d -> (JString -> HJScript ()) -> HJScript ()
+ HJScript.Lang: forInVar :: (IsDeref d) => d -> (Var a -> HJScript ()) -> HJScript ()
+ HJScript.Objects.Object: Object :: Object
+ HJScript.Objects.Object: data Object
+ HJScript.Objects.Object: instance [overlap ok] HasConstructor Object () ()
+ HJScript.Objects.Object: instance [overlap ok] IsClass Object
+ HJScript.Objects.Object: instance [overlap ok] Show Object

Files

HJScript.cabal view
@@ -1,5 +1,5 @@ Name:             HJScript-Version:          0.4.7+Version:          0.4.8 License:          BSD3 Author:           Joel Bjornson, joel.bjornson@gmail.com,                   Niklas Broberg, nibro@cs.chalmers.se@@ -23,6 +23,7 @@                   HJScript.Objects.JQuery                   HJScript.Objects.Date                   HJScript.Objects.Math+                  HJScript.Objects.Object                   HJScript.Objects.RegExp                   HJScript.Objects.String                   HJScript.Objects.ActiveXObject@@ -45,7 +46,7 @@                     Cabal-Version:    >= 1.2.3-Build-Depends:    base < 5, HJavaScript >= 0.4.4, mtl, hsx >= 0.4.4+Build-Depends:    base < 5, HJavaScript >= 0.4.6, mtl, hsx >= 0.4.4 Build-Type:       Simple Category:         Web, Language 
src/HJScript.hs view
@@ -18,6 +18,7 @@     module HJScript.Objects.Boolean,     module HJScript.Objects.Date,     module HJScript.Objects.Math,+    module HJScript.Objects.Object,     module HJScript.Objects.RegExp,     module HJScript.Objects.String   ) where@@ -31,5 +32,6 @@ import HJScript.Objects.Boolean import HJScript.Objects.Date import HJScript.Objects.Math+import HJScript.Objects.Object import HJScript.Objects.RegExp import HJScript.Objects.String
src/HJScript/Lang.hs view
@@ -1,4 +1,4 @@-{-# LANGUAGE OverlappingInstances, UndecidableInstances #-}+{-# LANGUAGE FlexibleInstances, OverlappingInstances, TypeSynonymInstances, UndecidableInstances #-} ----------------------------------------------------------------------------- -- | -- Module      :  HJScript.Lang@@ -21,10 +21,10 @@     function, procedure, functionDecl, procedureDecl,          -- Control flow-    for, while, doWhile, doIf, doElse, doIfElse, doIfNoElse, noElse,+    for, forIn, forInVar, while, doWhile, doIf, doElse, doIfElse, doIfNoElse, noElse,          -- Objects-    var, varWith, inVar, new ,( # ), ( #. ),+    var, varWith, inVar, new, delete, ( # ), ( #. ),     rec, first, second, x, y,          -- Helpers    @@ -137,6 +137,20 @@     pre name  = VarDeclAssign name from     cond name = (val $ JVar name) .<=. to     +-- | for (var in object) { .. }    +forIn :: (IsDeref d) => d -> (JString -> HJScript ()) -> HJScript ()+forIn obj script =+  do v <- var+     (_, body) <- hjsInside $ script (val v)+     outputStmt $ ForIn v obj body+     +-- | for (var in object) { .. }    +forInVar :: (IsDeref d) => d -> (Var a -> HJScript ()) -> HJScript ()+forInVar obj script =+  do v <- var+     (_, body) <- hjsInside $ script (obj # propertyVar (val v))+     outputStmt $ ForIn v obj body     +      -- | while while :: JBool -> HJScript t -> HJScript () while cond script = do@@ -286,6 +300,15 @@ -- Create new Objects. new ::  (HasConstructor o e t, Args e t) => o -> e -> HJScript (Exp o) new o = fmap val . varWith . JNew o                     ++-- |delete a property+--+-- Can only delete properties/variables that are created implicitly,+-- not those declared with the var statement.+--+-- returns true if property was deleted. false if operation was not possible.+delete :: Var a -> Exp Bool+delete = JDelete  -- | Dereferencing operator, similar to the `dot` operator in JavaScript. -- E.g. document.forms => document # forms, same as forms document
src/HJScript/Monad.hs view
@@ -1,4 +1,4 @@-{-# LANGUAGE OverlappingInstances, UndecidableInstances, GADTs #-}+{-# LANGUAGE FlexibleInstances, OverlappingInstances, TypeSynonymInstances, UndecidableInstances, GADTs #-} ----------------------------------------------------------------------------- -- | -- Module      :  HJScript.Monad
+ src/HJScript/Objects/Object.hs view
@@ -0,0 +1,18 @@+{-# LANGUAGE MultiParamTypeClasses #-}+-----------------------------------------------------------------------------+-- |+-- Module      :  Language.HJavaScript.Objects.Array+-- Copyright   :  (c) 2010 Joel Bjornson +-- License     :  BSD-style+-- Maintainer  :  Joel Bjornson joel.bjornson@gmail.com+--                Niklas Broberg nibro@cs.chalmers.se+-- Stability   :  experimental+-----------------------------------------------------------------------------+module HJScript.Objects.Object where++import Language.HJavaScript.Syntax++-- | plain old Object+data Object = Object deriving Show+instance IsClass Object+instance HasConstructor Object () ()