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

Re: Rest and patterns

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.