Scheme Request for Implementation 189,
"Maybe and Either: optional container types,"
by John Cowan and Wolfgang Corcoran-Mathe,
is now available for discussion.

Its draft and an archive of the ongoing discussion are available at

You can join the discussion of the draft by filling out the subscription form on that page.

You can contribute a message to the discussion by sending it to

Here's the abstract:

This SRFI defines two disjoint immutable container types known as Maybe and Either, both of which can contain at most one object known as their payload. A Maybe object is either a Just object or the unique object Nothing (which has no payload); an Either object is either a Right object or a Left object. Maybe represents the concept of an optional value; Either represents the concept of a value which is either correct (Right) or an error (Left).

Note that the terms Maybe, Just, Nothing, Either, Right, and Left are capitalized in this SRFI so as not to be confused with their ordinary use as English words. Thus "returns Nothing" means "returns the unique Nothing object"; "returns nothing" could be interpreted as "returns no values".


SRFI Editor