[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Initial comments & questions
On Sun, 21 Mar 2004, Ken Dickey wrote:
> Andre van Tonder wrote:>
> > First, in the monadic prior art, *bind* is already used for something more
> > akin to the current internal *syntax-bind*, so using bind for do could
> > cause confusion.
> But in Scheme prior art [T, Slade, 1987] BIND is used for (dynamic) binding
> forms. We speak of lexical BINDings.
I agree. syntax-bind would be more Schemely, and I like it.
> So SYNTAX-LET* would make sense for that usage! [Freeing up SYNTAX-BIND for
> the syntax-do which does not DO].
I like this proposal also. The one possible source of confusion, which
could also happen with syntax-bind, is that the types of the LHS and RHS
are different, e.g.,
(syntax-let* ((x (syntax-return (1 2 3)))
(y (syntax-return x))
i.e., the variables on the LHS refer to syntax, and the RHSs have to be
By the way, I wish I could come up with a briefer name for
*syntax-return*. Just SYNTAX would have been nice, but that's already
> > Second, in e.g. Haskell,
> Hey, not to belabor this too much, but *this is Scheme*.
> Your proposed forms should accord with Scheme forms in common use. Anything
> else is confusing by design.
> Designing for clarity is designing for the context of your (desired) users.
Point taken :)
> > 2) Perhaps in future have syntax-begin for imperative
> > things like syntax-debug-message. The above syntax-do example becomes
> I think you are making the argument for a declarative debug form here. I
> support the notion.
Could you perhaps suggest an example of what such a thing could look like?
> Did you like SYNTAX-QUOTE ?
I'm thinking af changing the specification of syntax-inspect to invoke an
inspector if there is one...