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 +4/−0
- fay-base.cabal +1/−1
- src/Data/Var.hs +8/−8
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.