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

Re: Various comments

Robby Findler <robby@xxxxxxxxxxxxxxx> writes:

> Seesh. Would you guys take the much more awkward clause "one cannot
> implement classes or units where variables bound by fields in classes
> or imports/definitions in units are not wrapped in parenthesis"?

Yes. To this, I have to say that I do think it is a feature that
you can't fake something which is not a Scheme variable to look
like one.

To maybe be more concrete: Try to understand the expression

   (foo bar baz quux quuux)

To do so, at the moment, I have to know what FOO does. It does
that with some arguments.

With this extension, it might very well be that QUUX does a full
mirror of the World Wide Web, and then returns the number of bytes

Or, more to the point, QUUX might throw an error because somehow
the value of the class variable QUUX was not of the expected type.
There is no way for me to see that QUUX is a class variable. Maybe
BAZ is also a class variable, I better check that.

That is, not only do I have to understand what each initial
position in such an expression does, I have to understand what
each variable reference in the expression does as well.

This complicates code understanding a lot, and all for the sole
purpose of saving two parens.

I don't think this is worth it.

        -- Jorgen

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