2017-12-19 20:38 GMT+01:00 Jim Rees <xxxxxx@gmail.com>:
One of the tests is:

(e.g.  (is eq? eq? eq? eq?))

..where I think you meant 5 eq? ’s, as 4 effectively transforms to (and (eq? eq? eq?) (eq? eq?)) which is valid syntax, but creates an invalid call to eq?.


Isn't eq? allowed to get zero or more arguments?
I may have confused this, because the implementation I've been using supports eq? with any number of arguments (which seems reasonable to me, even if not particularly useful)

If this doesn't conform to the standard, then it should definitely be removed.
 
Secondly,  the re-use of the underscore identifier exported by (scheme base) and suggested to be re-exported by (srfi 156))…

It’s not that I think it would normally create an issue, but if it does create an issue, solving it may be difficult.    Users who only dabble in syntax-rules macros occasionally may get very confused.   I suppose its no bigger an issue than those created by other auxiliary syntax, but in this case the same identifier is being used in two completely unrelated ways.    I’m not strongly opposed, but this just seems like asking for trouble.

If I knew how to apply this suggestion, I'd do that eagerly.
However, I was rather confused, because I didn't know which module system I should use (I've found out that R7RS and R6RS have different module systems!)

Suggestions/patches are welcome 


On Dec 18, 2017, at 7:28 PM, srfi.schemers.org mailing list <xxxxxx@simplelists.com> wrote:

Final SRFI 156: Syntactic combiners for binary predicates - xxxxxx@srfi.schemers.org (18 Dec 2017 23:16 UTC)

Final SRFI 156: Syntactic combiners for binary predicates by xxxxxx@srfi.schemers.org (18 Dec 2017 23:16 UTC)
Reply to list

    Scheme Request for Implementation 156,
    "Syntactic combiners for binary predicates,"
    by Panicz Maciej Godek,
    has gone into "final" status.

    The document and an archive of the discussion are available
    at .

    Here's the abstract:

    Recognizing binary predicates as a specific area in which
    the use of prefix operators is an impediment, we propose a
    thin layer of "syntactic stevia" for in-fixing such
    predicates. It can be implemented using regular Scheme
    macros. We suggest that the code (is x < y) should be
    transformed to (< x y), and (is x < y <= z) -- to (let ((y*
    y)) (and (< x y*) (<= y* z))). In addition, we suggest
    special meaning to the _ symbol: (is _ < y) and (is x < _)
    should be transformed to (lambda (_) (< _ y)) and (lambda
    (_) (< x _)), respectively. This SRFI document anlso
    describes some other uses of the is macro and its
    limitations.

    Note that tests are now included in the reference
    implementation. They can be seen in the diff from the
    previous draft:



    Regards,


    SRFI Editor


To unsubscribe from this list please go to http://www.simplelists.com/confirm.php?u=ZTPgerFW1EV9I4OeS8T8Hap0Eb2uc9kJ