mirror of
https://github.com/IBM/fp-go.git
synced 2025-06-23 00:27:49 +02:00
fix: change order of generics for flap
Signed-off-by: Dr. Carsten Leue <carsten.leue@de.ibm.com>
This commit is contained in:
@ -309,10 +309,10 @@ func Push[A any](a A) func([]A) []A {
|
|||||||
return G.Push[[]A](a)
|
return G.Push[[]A](a)
|
||||||
}
|
}
|
||||||
|
|
||||||
func MonadFlap[A, B any](fab []func(A) B, a A) []B {
|
func MonadFlap[B, A any](fab []func(A) B, a A) []B {
|
||||||
return G.MonadFlap[func(A) B, []func(A) B, []B, A, B](fab, a)
|
return G.MonadFlap[func(A) B, []func(A) B, []B, A, B](fab, a)
|
||||||
}
|
}
|
||||||
|
|
||||||
func Flap[A, B any](a A) func([]func(A) B) []B {
|
func Flap[B, A any](a A) func([]func(A) B) []B {
|
||||||
return G.Flap[func(A) B, []func(A) B, []B, A, B](a)
|
return G.Flap[func(A) B, []func(A) B, []B, A, B](a)
|
||||||
}
|
}
|
||||||
|
@ -248,12 +248,12 @@ func Swap[E, A any](val Either[E, A]) Either[A, E] {
|
|||||||
return MonadFold(val, Right[A, E], Left[E, A])
|
return MonadFold(val, Right[A, E], Left[E, A])
|
||||||
}
|
}
|
||||||
|
|
||||||
func MonadFlap[E, A, B any](fab Either[E, func(A) B], a A) Either[E, B] {
|
func MonadFlap[E, B, A any](fab Either[E, func(A) B], a A) Either[E, B] {
|
||||||
return FC.MonadFlap(MonadMap[E, func(A) B, B], fab, a)
|
return FC.MonadFlap(MonadMap[E, func(A) B, B], fab, a)
|
||||||
}
|
}
|
||||||
|
|
||||||
func Flap[E, A, B any](a A) func(Either[E, func(A) B]) Either[E, B] {
|
func Flap[E, B, A any](a A) func(Either[E, func(A) B]) Either[E, B] {
|
||||||
return F.Bind2nd(MonadFlap[E, A, B], a)
|
return F.Bind2nd(MonadFlap[E, B, A], a)
|
||||||
}
|
}
|
||||||
|
|
||||||
func MonadAlt[E, A any](fa Either[E, A], that L.Lazy[Either[E, A]]) Either[E, A] {
|
func MonadAlt[E, A any](fa Either[E, A], that L.Lazy[Either[E, A]]) Either[E, A] {
|
||||||
|
@ -64,10 +64,10 @@ func ChainFirst[A, B any](f func(A) B) func(A) A {
|
|||||||
return G.ChainFirst(f)
|
return G.ChainFirst(f)
|
||||||
}
|
}
|
||||||
|
|
||||||
func MonadFlap[A, B any](fab func(A) B, a A) B {
|
func MonadFlap[B, A any](fab func(A) B, a A) B {
|
||||||
return G.MonadFlap[func(A) B](fab, a)
|
return G.MonadFlap[func(A) B](fab, a)
|
||||||
}
|
}
|
||||||
|
|
||||||
func Flap[A, B any](a A) func(func(A) B) B {
|
func Flap[B, A any](a A) func(func(A) B) B {
|
||||||
return G.Flap[func(A) B](a)
|
return G.Flap[func(A) B](a)
|
||||||
}
|
}
|
||||||
|
2
io/io.go
2
io/io.go
@ -139,7 +139,7 @@ func Defer[A any](gen func() IO[A]) IO[A] {
|
|||||||
return G.Defer[IO[A]](gen)
|
return G.Defer[IO[A]](gen)
|
||||||
}
|
}
|
||||||
|
|
||||||
func MonadFlap[A, B any](fab IO[func(A) B], a A) IO[B] {
|
func MonadFlap[B, A any](fab IO[func(A) B], a A) IO[B] {
|
||||||
return G.MonadFlap[func(A) B, IO[func(A) B], IO[B], A, B](fab, a)
|
return G.MonadFlap[func(A) B, IO[func(A) B], IO[B], A, B](fab, a)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -147,10 +147,10 @@ func Filter[A any](pred func(A) bool) func(Option[A]) Option[A] {
|
|||||||
return Fold(None[A], F.Ternary(pred, Of[A], F.Ignore1of1[A](None[A])))
|
return Fold(None[A], F.Ternary(pred, Of[A], F.Ignore1of1[A](None[A])))
|
||||||
}
|
}
|
||||||
|
|
||||||
func MonadFlap[A, B any](fab Option[func(A) B], a A) Option[B] {
|
func MonadFlap[B, A any](fab Option[func(A) B], a A) Option[B] {
|
||||||
return FC.MonadFlap(MonadMap[func(A) B, B], fab, a)
|
return FC.MonadFlap(MonadMap[func(A) B, B], fab, a)
|
||||||
}
|
}
|
||||||
|
|
||||||
func Flap[A, B any](a A) func(Option[func(A) B]) Option[B] {
|
func Flap[B, A any](a A) func(Option[func(A) B]) Option[B] {
|
||||||
return F.Bind2nd(MonadFlap[A, B], a)
|
return F.Bind2nd(MonadFlap[B, A], a)
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user