Skip to content

Commit 6cea3f4

Browse files
committed
Fix map2/map3 for WriterT
1 parent d9ed240 commit 6cea3f4

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

src/FSharpPlus/Data/Writer.fs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -122,10 +122,10 @@ module WriterT =
122122
WriterT (map (mapWriter f) m) : WriterT<'``Monad<'U * 'Monoid>``>
123123

124124
/// Combines two WriterTs into one by applying a mapping function.
125-
let inline map2 (f: 'T->'U->'V) (WriterT x: WriterT<'``Monad<'T * 'Monoid>``>) (WriterT y: WriterT<'``Monad<'U * 'Monoid>``>) : WriterT<'``Monad<'V * 'Monoid>``> = WriterT (lift2 (fun (a, x) (b, y) -> Plus.Invoke a b, f x y) x y)
126-
125+
let inline map2 (f: 'T->'U->'V) (WriterT x: WriterT<'``Monad<'T * 'Monoid>``>) (WriterT y: WriterT<'``Monad<'U * 'Monoid>``>) : WriterT<'``Monad<'V * 'Monoid>``> = WriterT (lift2 (fun (x, a) (y, b) -> f x y, Plus.Invoke a b) x y)
126+
127127
/// Combines three WriterTs into one by applying a mapping function.
128-
let inline map3 (f: 'T->'U->'V->'W) (WriterT x: WriterT<'``Monad<'T * 'Monoid>``>) (WriterT y: WriterT<'``Monad<'U * 'Monoid>``>) (WriterT z: WriterT<'``Monad<'V * 'Monoid>``>) : WriterT<'``Monad<'W * 'Monoid>``> = WriterT (lift3 (fun (a, x) (b, y) (c, z) -> a ++ b ++ c, f x y z) x y z)
128+
let inline map3 (f: 'T->'U->'V->'W) (WriterT x: WriterT<'``Monad<'T * 'Monoid>``>) (WriterT y: WriterT<'``Monad<'U * 'Monoid>``>) (WriterT z: WriterT<'``Monad<'V * 'Monoid>``>) : WriterT<'``Monad<'W * 'Monoid>``> = WriterT (lift3 (fun (x, a) (y, b) (z, c) -> f x y z, a ++ b ++ c) x y z)
129129

130130
let inline apply (WriterT f : WriterT<'``Monad<('T -> 'U) * 'Monoid>``>) (WriterT x : WriterT<'``Monad<'T * 'Monoid>``>) =
131131
let applyWriter (a, w) (b, w') = (a b, plus w w')

0 commit comments

Comments
 (0)