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 84b7d94  2026/05/21 23:42:42: Generated dev website from 
groovy-website@fb24836
84b7d94 is described below

commit 84b7d9490be05bd86d5e0250d7cda5596f011129
Author: jenkins <[email protected]>
AuthorDate: Thu May 21 23:42:42 2026 +0000

    2026/05/21 23:42:42: Generated dev website from groovy-website@fb24836
---
 blog/groovy6-functional.html | 29 ++++++++++++++++++-----------
 search/search-index.json     |  2 +-
 2 files changed, 19 insertions(+), 12 deletions(-)

diff --git a/blog/groovy6-functional.html b/blog/groovy6-functional.html
index 76a1b0d..7135913 100644
--- a/blog/groovy6-functional.html
+++ b/blog/groovy6-functional.html
@@ -114,7 +114,7 @@ annotations?</a> below.</p>
 <div class="paragraph">
 <p>The new pieces close a handful of the gaps that send functional
 programmers reaching for FunctionalJava, HighJ or Vavr when they work
-on the JVM, and they fit together:</p>
+on the JVM:</p>
 </div>
 <div class="ulist">
 <ul>
@@ -129,7 +129,8 @@ specification-driven alternative to lifting effects into an 
<code>IO</code> mona
 </li>
 <li>
 <p>A <code>DO</code> macro (GEP-23) giving Scala-<code>for</code> / 
Haskell-<code>do</code> notation
-across <code>Optional</code>, <code>Stream</code>, 
<code>CompletableFuture</code>, Groovy&#8217;s <code>Awaitable</code>,
+across <code>Optional</code>, <code>Stream</code>, 
<code>CompletableFuture</code>, Groovy&#8217;s <code>Awaitable</code>
+and <code>DataflowVariable</code>, recognised FunctionalJava and Vavr carriers,
 and any user type that opts in.</p>
 </li>
 <li>
@@ -432,7 +433,7 @@ Awaitable&lt;String&gt; greetByKey(String key) {
 </div>
 </div>
 <div class="paragraph">
-<p><code>DO</code> and <code>for await</code> (the other "await"-shaped new 
Groovy 6 construct)
+<p><code>DO</code> and <code>for await</code> (Groovy 6&#8217;s other 
"await"-shaped construct)
 operate at different layers and are easy to confuse. <code>DO</code> composes
 <strong>one</strong> result from a chain of dependent monadic steps; <code>for 
await</code>
 iterates over <strong>many</strong> values pulled from a stream-shaped source
@@ -445,9 +446,9 @@ by <code>DO</code> can be one element of an upstream 
publisher consumed by
 <code>for await</code> — but neither replaces the other.</p>
 </div>
 <div class="paragraph">
-<p>And over FunctionalJava&#8217;s <code>Validation</code> — no annotation, no 
wrapper, no
-Groovy dependency on FunctionalJava, because <code>fj.data.Validation</code> is
-recognised by name in `DO&#8217;s standard allow-list:</p>
+<p><code>DO</code> also composes over FunctionalJava&#8217;s 
<code>Validation</code> — no annotation,
+no wrapper, no Groovy dependency on FunctionalJava, because
+<code>fj.data.Validation</code> is recognised by name in the standard 
allow-list:</p>
 </div>
 <div class="listingblock">
 <div class="content">
@@ -463,11 +464,11 @@ assert add('hi', '3').fail()   == 'not numeric: 
hi'</code></pre>
 </div>
 </div>
 <div class="paragraph">
-<p>The same allow-list also recognises Vavr&#8217;s control carriers
+<p>The same allow-list recognises Vavr&#8217;s control carriers
 (<code>io.vavr.control.Option</code>, <code>io.vavr.control.Try</code>, 
<code>io.vavr.control.Either</code>,
-<code>io.vavr.control.Validation</code>) by name, so existing Vavr-shaped code 
composes
-through <code>DO</code> without rewriting and without Groovy taking a 
dependency on
-Vavr:</p>
+<code>io.vavr.control.Validation</code>) by name, so existing Vavr-shaped code
+composes through <code>DO</code> without rewriting and without Groovy taking a
+dependency on Vavr:</p>
 </div>
 <div class="listingblock">
 <div class="content">
@@ -741,7 +742,7 @@ or a small ASM walker can use them as a specification:</p>
 enough to treat as a specification.</p>
 </div>
 <div class="paragraph">
-<p>The same idea applies more broadly:</p>
+<p>The same idea applies elsewhere:</p>
 </div>
 <table class="tableblock frame-all grid-all stretch">
 <colgroup>
@@ -1096,6 +1097,12 @@ following the same two-layer pattern used elsewhere in 
this post.</p>
 <div class="content">
 <div class="title">Update history</div>
 <div class="paragraph">
+<p><strong>22/May/2026</strong>: Vavr added to comparison set
+and <code>DO</code> allow-list; producer-side / consumer-side framing for
+declaration-driven features; <code>for await</code> vs <code>DO</code> 
distinction; GEP-24
+forward-reference for the <code>Try</code> / errors-as-values gap.</p>
+</div>
+<div class="paragraph">
 <p><strong>20/May/2026</strong>: Initial version.</p>
 </div>
 </div>
diff --git a/search/search-index.json b/search/search-index.json
index 6d1121b..2f2b15c 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