packages feed

fay-base 0.20.0.0 → 0.20.0.1

raw patch · 3 files changed

+13/−9 lines, 3 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Data.Var: get :: Gettable (v a) => v a -> Fay a
+ Data.Var: get :: Gettable (v a) => Ptr (v a) -> Fay (Ptr a)
- Data.Var: newRef :: a -> Fay (Ref a)
+ Data.Var: newRef :: Ptr a -> Fay (Ptr (Ref a))
- Data.Var: newSig :: Fay (Sig a)
+ Data.Var: newSig :: Fay (Ptr (Sig a))
- Data.Var: newVar :: a -> Fay (Var a)
+ Data.Var: newVar :: Ptr a -> Fay (Ptr (Var a))
- Data.Var: set :: Settable (v a) => v a -> a -> Fay ()
+ Data.Var: set :: Settable (v a) => Ptr (v a) -> Ptr a -> Fay ()
- Data.Var: subscribe :: Subscribable (v a) => v a -> Ptr (a -> Fay void) -> Fay (() -> Fay ())
+ Data.Var: subscribe :: Subscribable (v a) => Ptr (v a) -> Ptr (a -> Fay void) -> Fay (() -> Fay ())

Files

CHANGELOG.md view
@@ -1,5 +1,9 @@ ## Changelog +## 0.20.0.1 (2015-06-24)++* Fix polymorphic arguments in `Data.Var` (thanks Jakub Ryška)+ ## 0.20.0.0 (2015-02-10)  * Changes the type signature of `when` and `unless` from `:: Bool -> Fay a -> Fay ()` to `:: Bool -> Fay () -> Fay ()`. This allows tail call optimization for these functions and matches base - by Zachary Mason
fay-base.cabal view
@@ -1,5 +1,5 @@ name:                fay-base-version:             0.20.0.0+version:             0.20.0.1 synopsis:            The base package for Fay. description:         The base package for Fay.                      This package amongst others exports Prelude and FFI which you probably want to use with Fay.
src/Data/Var.hs view
@@ -51,14 +51,14 @@ data Sig a  -- | Make a new signal.-newSig :: Fay (Sig a)+newSig :: Fay (Ptr (Sig a)) newSig = ffi "new Fay$$Sig()"  -- | A mutable reference, with no subscribers. data Ref a  -- | Make a new mutable reference.-newRef :: a -> Fay (Ref a)+newRef :: Ptr a -> Fay (Ptr (Ref a)) newRef = ffi "new Fay$$Ref2(%1)"  -- | A reactive variable.  Stores a value, and can have handlers subscribed to@@ -66,7 +66,7 @@ data Var a  -- | Make a new reactive variable.-newVar :: a -> Fay (Var a)+newVar :: Ptr a -> Fay (Ptr (Var a)) newVar = ffi "new Fay$$Var(%1)"  @@ -77,7 +77,7 @@ instance Settable (Var a)  -- | Write to the value (if any), and call subscribers (if any).-set :: Settable (v a) => v a -> a -> Fay ()+set :: Settable (v a) => Ptr (v a) -> Ptr a -> Fay () set = ffi "Fay$$setValue(Fay$$_(%1), %2, Fay$$_)"  @@ -87,7 +87,7 @@ instance Gettable (Var a)  -- | Get the value of a 'Ref' or 'Var'.-get :: Gettable (v a) => v a -> Fay a+get :: Gettable (v a) => Ptr (v a) -> Fay (Ptr a) get = ffi "Fay$$_(%1).val"  -- | Modifies the current value with a pure function.@@ -107,7 +107,7 @@ -- | Subscribe to the value of a 'Sig' or 'Var'. -- --   The result is an unsubscribe function.-subscribe :: Subscribable (v a) => v a -> Ptr (a -> Fay void) -> Fay (() -> Fay ())+subscribe :: Subscribable (v a) => Ptr (v a) -> Ptr (a -> Fay void) -> Fay (() -> Fay ()) subscribe = ffi "Fay$$subscribe(Fay$$_(%1), Fay$$_(%2))"  -- | Run the same subscribing action but provide an additional@@ -241,10 +241,10 @@       return $ unsubscribeA () >> unsubscribeB () >> unsubscribeC ()   return (vc, unsubscribe) -setInternal :: Var a -> a -> Fay ()+setInternal :: Ptr (Var a) -> Ptr a -> Fay () setInternal = ffi "function() { Fay$$_(%1).val = %2; }()" -broadcastInternal :: Var a -> a -> Fay ()+broadcastInternal :: Ptr (Var a) -> Ptr a -> Fay () broadcastInternal = ffi "Fay$$broadcastInternal(Fay$$_(%1), %2, Fay$$_)"  -- | Like 'mergeVars', but discards the unsubscribe function.