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

Re: Various comments

Robby Findler <robby@xxxxxxxxxxxxxxx> writes:

> Seems like a pretty abstract argument

Yes, it is. Is abstractness a problem?

> esp. when this seems to be common practice and without it, one
> cannot implement classes or units as macros.

This is wrong.

In the context of class-based object systems, the SRFI currently
provides the possibility to provide a syntax to write FOO to
access a class variable named FOO, by transforming FOO into
something like (CLASS-VARIABLE-GET FOO). Without this specific
feature, you would have to write (FOO) instead of FOO. As I said,
this feature saves exactly two parens, but introduces the problem
that _any_ variable reference could cause the execution of an
arbitrary amount of code.

The other situation is SET! - this is not as problematic to me as
the variable reference is, because this is a very specific context
- where (SET! FOO X) could be transformed into
(CLASS-VARIABLE-SET! FOO X). Using SRFI-17, it is possible to
write (SET! (CLASS FOO) X) to get the same effect.

Hence, one can easily implement classes or units as macros without
these features.

        -- Jorgen

((email . "forcer@xxxxxxxxx") (www . "http://www.forcix.cx/";)
 (gpg   . "1024D/028AF63C")   (irc . "nick forcer on IRCnet"))