From 88e70febbe69067778242364d2398f897d725fe6 Mon Sep 17 00:00:00 2001
From: Alexander Bandukwala <7h3kk1d@gmail.com>
Date: Fri, 31 Mar 2023 17:38:21 -0500
Subject: [PATCH 1/3] Switch chat badge to point to palatable discord
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index a1d7400b..11afcbe3 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@
======
[](https://github.com/palatable/lambda/actions)
[](http://search.maven.org/#search%7Cga%7C1%7Ccom.jnape.palatable.lambda)
-[](https://gitter.im/palatable/lambda?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
+[](https://discord.gg/wR7k8RAKM5)
[](https://floobits.com/jnape/lambda/redirect)
Functional patterns for Java
From e4831180484a9b7eca8a7cbacff5dc1c3b0ed2ca Mon Sep 17 00:00:00 2001
From: Alexander Bandukwala <7h3kk1d@gmail.com>
Date: Fri, 31 Mar 2023 17:49:49 -0500
Subject: [PATCH 2/3] Fix height of discord badge
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 11afcbe3..7d84c629 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@
======
[](https://github.com/palatable/lambda/actions)
[](http://search.maven.org/#search%7Cga%7C1%7Ccom.jnape.palatable.lambda)
-[](https://discord.gg/wR7k8RAKM5)
+[
](https://discord.gg/wR7k8RAKM5)
[](https://floobits.com/jnape/lambda/redirect)
Functional patterns for Java
From c1d2193ebdbbac8b0b31bec9bdcbfbd5820858ff Mon Sep 17 00:00:00 2001
From: Alexander Bandukwala <7h3kk1d@gmail.com>
Date: Thu, 20 Apr 2023 21:36:44 -0500
Subject: [PATCH 3/3] FoldRight fixes for Monoid/Semigroup
- Semigroup::foldRight had parameters flipped
- Monoid::foldRight was accumulating the accumulator from the left. This has been fixed but the identity is now being used as a starting accumulator. Otherwise, the evaluation order is unchanged.
- Changed ExplainFold parameter name since accumulator can be in either position
---
.../java/com/jnape/palatable/lambda/monoid/Monoid.java | 2 +-
.../com/jnape/palatable/lambda/semigroup/Semigroup.java | 2 +-
.../lambda/functions/builtin/fn3/FoldRightTest.java | 2 +-
.../com/jnape/palatable/lambda/monoid/MonoidTest.java | 9 +++++++++
.../jnape/palatable/lambda/semigroup/SemigroupTest.java | 9 +++++----
src/test/java/testsupport/functions/ExplainFold.java | 2 +-
6 files changed, 18 insertions(+), 8 deletions(-)
diff --git a/src/main/java/com/jnape/palatable/lambda/monoid/Monoid.java b/src/main/java/com/jnape/palatable/lambda/monoid/Monoid.java
index 8ecf8377..59f4ce1c 100644
--- a/src/main/java/com/jnape/palatable/lambda/monoid/Monoid.java
+++ b/src/main/java/com/jnape/palatable/lambda/monoid/Monoid.java
@@ -82,7 +82,7 @@ default A foldLeft(A a, Iterable as) {
*/
@Override
default Lazy foldRight(A a, Iterable as) {
- return lazy(() -> flip().foldMap(id(), reverse(cons(a, as))));
+ return lazy(() -> flip().foldMap(id(), cons(a, reverse(as))));
}
/**
diff --git a/src/main/java/com/jnape/palatable/lambda/semigroup/Semigroup.java b/src/main/java/com/jnape/palatable/lambda/semigroup/Semigroup.java
index a061328c..d4cc1e6b 100644
--- a/src/main/java/com/jnape/palatable/lambda/semigroup/Semigroup.java
+++ b/src/main/java/com/jnape/palatable/lambda/semigroup/Semigroup.java
@@ -39,7 +39,7 @@ default A foldLeft(A a, Iterable as) {
* @see FoldRight
*/
default Lazy foldRight(A a, Iterable as) {
- return FoldRight.foldRight((y, lazyX) -> lazyX.fmap(x -> apply(x, y)), lazy(a), as);
+ return FoldRight.foldRight((y, lazyX) -> lazyX.fmap(x -> apply(y, x)), lazy(a), as);
}
/**
diff --git a/src/test/java/com/jnape/palatable/lambda/functions/builtin/fn3/FoldRightTest.java b/src/test/java/com/jnape/palatable/lambda/functions/builtin/fn3/FoldRightTest.java
index 912ee9b4..62f6d43c 100644
--- a/src/test/java/com/jnape/palatable/lambda/functions/builtin/fn3/FoldRightTest.java
+++ b/src/test/java/com/jnape/palatable/lambda/functions/builtin/fn3/FoldRightTest.java
@@ -29,7 +29,7 @@ public Fn1, Iterable