atl 15409.1 → 15409.2
raw patch · 2 files changed
+10/−1 lines, 2 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Control.Arrow.State: instance ArrowChoice r => ArrowChoice (StateT s r)
Files
- Control/Arrow/State.hs +9/−0
- atl.cabal +1/−1
Control/Arrow/State.hs view
@@ -37,6 +37,15 @@ StateT f <+> StateT g = StateT (f <+> g); }; +instance (ArrowChoice r) => ArrowChoice (StateT s r) where {+ left (StateT x) = StateT $ let {+ f (Left x, s) = Left (x, s);+ f (Right y, s) = Right (y, s);+ g (Left (x, s)) = (Left x, s);+ g (Right (y, s)) = (Right y, s);+ } in arr f >>> left x >>> arr g;+};+ instance (ArrowLoop r) => ArrowLoop (StateT s r) where { loop = StateT . loop . (>>> swap_snds_A) . (<<< swap_snds_A) . runStateT; };
atl.cabal view
@@ -1,5 +1,5 @@ Name:atl-Version:15409.1+Version:15409.2 Description:Arrow Transformer Library License:LGPL License-File:license.txt