Robby Findler <xxxxxx@cs.uchicago.edu> 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.
Regards,
-- Jorgen
--
((email . "xxxxxx@forcix.cx") (www . "http://www.forcix.cx/")
(gpg . "1024D/028AF63C") (irc . "nick forcer on IRCnet"))