Fixed, thanks!

On Thu, Jul 2, 2020 at 8:51 AM Shiro Kawai <> wrote:
Typo.  In maybe-bind/either-bind:

   ... as if maybe-compose/either-compose were applied to procs, ...

Here, "procs" must be "mprocs", I think.

On Wed, Jul 1, 2020 at 7:56 PM Arthur A. Gleckler <> wrote:

I've just published draft #8 of SRFI 189. It was submitted by John Cowan, co-author of the SRFI.

Here are John's comments on the draft:

If we are already in LC, we should do a second LC.

John and Wolfgang have made substantial additions to the text and the sample implementation, so they're requesting a second "last call" period. If you'd like to comment, please submit your feedback before 2020-07-08.

Here is the commit summary:

  • Implement multiple-argument versions of maybe=? and either=?.
  • Update maybe / either-ref to Draft 7.
  • Rename "generator" and "truth" conversions.
  • values->either: Allow multiple default objects.
  • Rename "two-values" conversions.
  • Update maybe / either-compose to Draft 7.
  • Add single-seed fast path to -unfold procedures.
  • Tune single-value paths of maybe / either-ref.
  • Further tuning of -ref procedures.
  • Simplify maybe= and either=.
  • Add tests for maybe= / either= with more than two arguments.
  • Tune single-value path of -filter and -remove procedures.
  • call successor during -unfold
  • Revert "call successor during -unfold"
  • Minor comment cleanup and page reformat.
  • Simplify single-value fast paths with macros.
  • Tests: rename macro.
  • Remove artifact named let.
  • Fix bug in maybe- / either-unfold and add test.
  • unfold now an anamorphism, multitruth renamed to list-truth, Either protocol converters
  • Add either->truth.
  • Fix procedure name in error message.
  • Rename "generation" protocol conversions.
  • Add list->maybe and list->either.
  • Add "list-truth" protocol conversions.
  • Update maybe / either-unfold to Draft 8 versions.
  • Fix missing paren.
  • Update tests for Draft 8.
  • Use assume to signal errors where the SRFI says "it is an error".
  • Remove non-portable tests for error conditions.
  • editorial
  • Add truth->either. Update tests.
  • slight cleanups
  • editorial
  • moved conversion to constructors
  • Move conversions to constructor section.
  • Copy list arguments to raw-just, etc., where necessary.
  • Additional tuning of single-value payload paths.
  • Minor typo and grammatical fixes.
  • Fix typo.
  • minor correction
  • New syntactic forms: Initial import.
  • and, or, let*
  • Ensure base values of -and-let* forms are unwrapped.
  • Add type checks to and/or macros.
  • Fix typo.
  • editorial
  • Fix -and-let* bugs which caused correct expression to raise errors.
  • clarify maybe-let*
  • Revert "Fix -and-let* bugs which caused correct expression to raise errors."
  • let* forms: Enforce Maybe/Either-valued claws in body-less cases.
  • Rename macros: and-let* -> let*.
  • Fix names in macro body.
  • Add tests for and, or, and let* forms.
  • Replace unused pattern variable with underscore.
  • Add generation->either and either->generation.
  • Tests for Either generation conversions.
  • Tuning: eliminate maybe-ref in several procedures.
  • Tuning: eliminate some uses of -bind and -ref procedures.
  • Eliminate -bind and -ref from map and fold procedures.
  • Minor style changes. Comment improvement.
  • Minor tuning of either-swap.
  • Use helper type-check macro in conditional forms.
  • Refactor maybe/either-let* to efficiently catch ill-typed bodies.
  • Switch to new standard SRFI header format.
  • Update abstract.
  • Remove trailing whitespace.
  • Publish eighth draft.

Here's the diff:


SRFI Editor