This page is part of the web mail archives of SRFI 26 from before July 7th, 2015. The new archives for SRFI 26 contain all messages, not just those from before July 7th, 2015.
Here are two belated bug reports on the previous draft: 1. "petrovsky" => "petrofsky". 2. The use of (cut "loop" vars proc proc-args . cut-args) in the reference implementation causes some uses of cut to fail even though the spec for cut indicates that they should succeed, because "loop" is a valid expression. You could fix this by changing the marker to some non-expression datum like (), #(), or #(loop). Alternatively, bind a top-level identifier like srfi26-internal-cut to the internal version. Then the cut macro would no longer suffer the misfeature of allowing ill-formed uses just because they happen to match its internals. -al P.S. The real solution here is that the syntax for transformers should be extended to allow (let-syntax <bindings> <transformer>) as a valid transformer, with the obvious semantics, and then you could write: (define-syntax cut (letrec-syntax ((internal-cut (syntax-rules (<> <...>) ;; rules ))) (syntax-rules () ((cut . args) (internal-cut () () . args))))) but that's the subject of a different SRFI.