Skip to content

Commit

Permalink
fix: some smaller optimizations
Browse files Browse the repository at this point in the history
Signed-off-by: Dr. Carsten Leue <carsten.leue@de.ibm.com>
  • Loading branch information
CarstenLeue committed Feb 1, 2024
1 parent b077fed commit 668eb85
Show file tree
Hide file tree
Showing 19 changed files with 1,101 additions and 1,085 deletions.
2 changes: 1 addition & 1 deletion array/generic/array.go
Original file line number Diff line number Diff line change
Expand Up @@ -344,7 +344,7 @@ func MonadFlap[FAB ~func(A) B, GFAB ~[]FAB, GB ~[]B, A, B any](fab GFAB, a A) GB
}

func Flap[FAB ~func(A) B, GFAB ~[]FAB, GB ~[]B, A, B any](a A) func(GFAB) GB {
return F.Bind2nd(MonadFlap[FAB, GFAB, GB, A, B], a)
return FC.Flap(Map[GFAB, GB], a)
}

func Prepend[ENDO ~func(AS) AS, AS []A, A any](head A) ENDO {
Expand Down
8 changes: 4 additions & 4 deletions either/either.go
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ func MonadMapTo[E, A, B any](fa Either[E, A], b B) Either[E, B] {
}

func MapTo[E, A, B any](b B) func(Either[E, A]) Either[E, B] {
return F.Bind2nd(MonadMapTo[E, A, B], b)
return Map[E](F.Constant1[A](b))
}

func MonadMapLeft[E1, A, E2 any](fa Either[E1, A], f func(E1) E2) Either[E2, A] {
Expand Down Expand Up @@ -106,11 +106,11 @@ func ChainOptionK[A, B, E any](onNone func() E) func(func(A) O.Option[B]) func(E
}

func ChainTo[A, E, B any](mb Either[E, B]) func(Either[E, A]) Either[E, B] {
return F.Bind2nd(MonadChainTo[A, E, B], mb)
return F.Constant1[Either[E, A]](mb)
}

func Chain[E, A, B any](f func(a A) Either[E, B]) func(Either[E, A]) Either[E, B] {
return F.Bind2nd(MonadChain[E, A, B], f)
return Fold(Left[B, E], f)
}

func ChainFirst[E, A, B any](f func(a A) Either[E, B]) func(Either[E, A]) Either[E, A] {
Expand Down Expand Up @@ -251,7 +251,7 @@ func MonadFlap[E, B, A any](fab Either[E, func(A) B], a A) 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, B, A], a)
return FC.Flap(Map[E, func(A) B, B], a)
}

func MonadAlt[E, A any](fa Either[E, A], that L.Lazy[Either[E, A]]) Either[E, A] {
Expand Down

0 comments on commit 668eb85

Please sign in to comment.