[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Rest and patterns

This page is part of the web mail archives of SRFI 71 from before July 7th, 2015. The new archives for SRFI 71 contain all messages, not just those from before July 7th, 2015.

Thanks for clarifying for me.

David Van Horn <dvanhorn@xxxxxxxxxx> wrote at 2005-05-19T12:24:35-0400:
> I agree with your concerns about making this a general pattern
> matching SRFI;

I actually just meant that I wouldn't want to add a pattern language to
"let" until I'm confident the language is consistent with whatever
(generalized or specialized) pattern language I've heard rumors the
shadowy R6RS is considering.

OK, so this is a summarization of three extensions to "let" and "let*"
that I understand are currently proposed in this working SRFI:

  1. Multiple-value binding in a binding expression by giving multiple
     variables rather than just one.

  2. LHS of the binding expression as a pattern language (simple now,
     with the "values" keyword, but possibly to be extended in the
     future) that is applied to the multiple values of the RHS.

         ( { <variable>+ | <let-pattern-language> } <expr>)

  3. Zero-values binding expressions in "let*" for interspersing
     sequenced side-effect expressions with bindings.

I might find occasion to use all 3 of these in my own portable code.
But I estimate that 99% of the benefit to my code would come from #1
alone.  So my perspective on #2 and #3 is colored by a desire that they
not risk compromising my goal of getting #1.  I can't assess the level
of risk, but please keep this consideration in mind as you decide what
to package into a single SRFI.