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

Re: Various comments

This page is part of the web mail archives of SRFI 93 from before July 7th, 2015. The new archives for SRFI 93 contain all messages, not just those from before July 7th, 2015.

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"))