(Previous discussion continued)
Re: Initial comments & questions campbell@xxxxxx 25 Mar 2004 20:58 UTC

Re: Initial comments & questions campbell@xxxxxx 25 Mar 2004 20:58 UTC

On Thu, 25 Mar 2004, Andre van Tonder wrote:

> I think these are all expressible more simply with bind only (assuming we
> call it syntax-bind). E.g.,
>
> (syntax-bind ((x    (syntax-reverse (x y z))
>               (y    (syntax-return (u v w))
>               (void (syntax-message "Debug message"))
>   (syntax-append x y))
>
> Here the first line does what COMPUTE does, the second line does what
> LET does, and the third line is a syntactic computation with a throwaway
> result.

Oh.  Duh.  I didn't think of such blinding obviousness.

> > I also have a suggestion to rename SYNTAX-BIND to SYNTAX-EXTEND, as the
> > monadic >>= operator is often differently named.
>
> Good idea.

OK, so are we going with SYNTAX-EXTEND being the internal >>= form and
SYNTAX-BIND being the user-exposed convenient syntax?

Also, will SYNTAX-BIND still be without built-in pattern matching as
SYNTAX-DO was?