• SRFI 182: ADBMAL, ALET, and ALET*

    From Arthur A. Gleckler@21:1/5 to All on Sat Feb 22 16:16:12 2020
    Scheme Request for Implementation 182,
    "ADBMAL, ALET, and ALET*,"
    by Joo ChurlSoo,
    is now available for discussion.

    Its draft and an archive of the ongoing discussion are available at <https://srfi.schemers.org/srfi-182/>.

    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 <srfi-182@srfi.schemers.org>.


    Here's the abstract:

    Unlike the VALUES and CALL-WITH-VALUES mechanism of R5RS, this one
    uses an explicit representation for multiple return values as a
    single value, namely a procedure. Decomposition of multiple values
    is done by simple application. The macro, ADBMAL, evaluates to a
    procedure that takes one procedure argument. The ADBMAL macro can
    be compared with LAMBDA. While a LAMBDA expression that consists of
    &lt;formals&gt; and &lt;body&gt; requires some actual arguments
    later when the evaluated LAMBDA expression is called, an ADBMAL
    expression that consists of &lt;expression&gt;s corresponding to
    actual arguments of LAMBDA requires &lt;formals&gt; and
    &lt;body&gt;, that is, an evaluated LAMBDA expression, later when
    the evaluated ADBMAL expression is called.

    This SRFI also introduces the new LET-syntax ALET and ALET*, which
    depend on ADBMAL to manipulate multiple values, and which are
    compatible with LET and LET* of R5RS in single-value bindings. They
    also have a binding form making use of VALUES and CALL-WITH-VALUES
    to handle multiple values, and new binding forms for list, cons, and
    other multiple values. In addition, they have several new binding
    forms for useful functions such as escape, iteration, optional
    arguments, etc.

    Regards,


    SRFI Editor

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)