This is an automated email from the ASF dual-hosted git repository.

asf-gitbox-commits pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/groovy-dev-site.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new e55abb8  2026/05/20 16:04:26: Generated dev website from 
groovy-website@77d71ee
e55abb8 is described below

commit e55abb8c06ce60c721672cd7899e5697a543beeb
Author: jenkins <[email protected]>
AuthorDate: Wed May 20 16:04:26 2026 +0000

    2026/05/20 16:04:26: Generated dev website from groovy-website@77d71ee
---
 blog/groovy6-functional.html | 23 ++++++++++++-----------
 search/search-index.json     |  2 +-
 2 files changed, 13 insertions(+), 12 deletions(-)

diff --git a/blog/groovy6-functional.html b/blog/groovy6-functional.html
index c73b899..b3e9059 100644
--- a/blog/groovy6-functional.html
+++ b/blog/groovy6-functional.html
@@ -80,7 +80,7 @@ closures, immutable collections and 
<code>java.util.stream.Stream</code>.</p>
 </div>
 <div class="paragraph">
 <p>What Groovy 6 <em>does</em> do is close a handful of the gaps that send
-functional programmers reaching for FunctionalJava or highj when they
+functional programmers reaching for FunctionalJava or HighJ when they
 work on the JVM. The new pieces fit together:</p>
 </div>
 <div class="ulist">
@@ -196,8 +196,9 @@ class Semigroup a =&gt; Monoid a where mempty :: 
a</code></pre>
 </div>
 <div class="paragraph">
 <p>In FunctionalJava you build a <code>Monoid&lt;A&gt;</code> by passing a 
combiner closure
-and a zero. In highj you import the typeclass instance for 
<code>Monoid&lt;µ&gt;</code>.
-In Groovy 6 the algebra moves <em>onto the method</em>:</p>
+and a zero. In HighJ you import the typeclass instance for 
<code>Monoid&lt;µ&gt;</code>.
+While you can also use those libraries from Groovy as is,
+you now also have the option of moving the algebra <em>onto the 
method</em>:</p>
 </div>
 <div class="listingblock">
 <div class="content">
@@ -268,7 +269,7 @@ Haskell, but without lifting <code>add</code> into a 
wrapper and unlifting the
 result.</p>
 </div>
 <div class="paragraph">
-<p>The <code>Monoid</code>/<code>Semigroup</code> types from FunctionalJava 
and highj are also
+<p>The <code>Monoid</code>/<code>Semigroup</code> types from FunctionalJava 
and HighJ are also
 recognised, which means existing FJ-shaped combiners flow through
 <code>sumParallel</code> without rewriting.</p>
 </div>
@@ -302,7 +303,7 @@ declarations, no lift / unlift:</p>
     @TypeChecked(extensions = 'groovy.typecheckers.ModifiesChecker')
     void post(BigDecimal amount) {
         total += amount
-        ledger &lt;&lt; "+$amount"
+        ledger &lt;&lt; "+$amount".toString()
     }
 
     @Pure
@@ -407,8 +408,8 @@ Validation&lt;String, Integer&gt; add(String a, String b) {
         Validation.success(x + y)
     }
 }
-assert add('2', '3').successE() == 5
-assert add('hi', '3').failE()   == 'not numeric: hi'</code></pre>
+assert add('2', '3').success() == 5
+assert add('hi', '3').fail()   == 'not numeric: hi'</code></pre>
 </div>
 </div>
 <div class="paragraph">
@@ -704,7 +705,7 @@ spec, not as a comment.</p>
 <div class="sectionbody">
 <div class="paragraph">
 <p>For a JVM-resident FP audience, the comparison set is FunctionalJava,
-highj, and the language alternatives Scala and Kotlin.</p>
+HighJ, and the language alternatives Scala and Kotlin.</p>
 </div>
 <table class="tableblock frame-all grid-all stretch">
 <colgroup>
@@ -720,7 +721,7 @@ highj, and the language alternatives Scala and Kotlin.</p>
 <th class="tableblock halign-left valign-top">Concept</th>
 <th class="tableblock halign-left valign-top">Groovy 6</th>
 <th class="tableblock halign-left valign-top">FunctionalJava</th>
-<th class="tableblock halign-left valign-top">highj</th>
+<th class="tableblock halign-left valign-top">HighJ</th>
 <th class="tableblock halign-left valign-top">Scala</th>
 <th class="tableblock halign-left valign-top">Haskell</th>
 </tr>
@@ -843,8 +844,8 @@ to libraries.</p>
 <div class="paragraph">
 <p>For new code on the JVM, the takeaway is that <code>@Pure</code>, 
<code>@Modifies</code>,
 <code>@Associative</code> and <code>@Reducer</code> cover most of what teams 
used
-FunctionalJava and highj for — and they do it on your own types,
-without inheritance and without lift/unlift. FunctionalJava and highj
+FunctionalJava and HighJ for — and they do it on your own types,
+without inheritance and without lift/unlift. FunctionalJava and HighJ
 remain useful when you want the libraries' richer value-level
 combinators (notably <code>Validation</code> for applicative-style error
 accumulation, which Groovy 6 happily embeds in <code>DO</code>).</p>
diff --git a/search/search-index.json b/search/search-index.json
index 27f8393..653c5f8 100644
--- a/search/search-index.json
+++ b/search/search-index.json
@@ -240,7 +240,7 @@
     {
         "id": "blog/groovy6-functional.html",
         "title": "The Apache Groovy programming language - Blogs - Groovy 6 
features for Functional Programmers",
-        "content": "The Apache Groovy programming language - Blogs - Groovy 6 
features for Functional Programmers Socialize Discuss on the mailing list 
Groovy on X Groovy on Bluesky Groovy on Mastodon Groovy on LinkedIn Events and 
conferences Source code on GitHub Report issues in Jira Stack Overflow 
questions Slack Community You are using an outdated browser. Please upgrade 
your browser to improve your experience. Apache Groovy&trade; Learn 
Documentation Download Support Contribute Ecos [...]
+        "content": "The Apache Groovy programming language - Blogs - Groovy 6 
features for Functional Programmers Socialize Discuss on the mailing list 
Groovy on X Groovy on Bluesky Groovy on Mastodon Groovy on LinkedIn Events and 
conferences Source code on GitHub Report issues in Jira Stack Overflow 
questions Slack Community You are using an outdated browser. Please upgrade 
your browser to improve your experience. Apache Groovy&trade; Learn 
Documentation Download Support Contribute Ecos [...]
         "url": "blog/groovy6-functional.html",
         "site": "dev"
     },

Reply via email to