[r6rs-discuss] Case sensitivity
Guillermo J. Rozas
gjr6765 at gmail.com
Mon Feb 23 09:40:28 EST 2009
On Feb 23, 2009, at 5:56 AM, Eli Barzilay wrote:
>> Not true. It depends on your algorithm.
>> For example, your algorithm can canonicalize case as long as there
>> are no aliases. If there are aliases, it doesn't canonicalize case.
> By "automate", I mean through a macro. A macro that will do this kind
> of inference is dangerous -- if I use it as:
> (define-foreign foo ...)
> (define-foreign BAR ...)
> ... many more ...
> ;; and in a client library
> (define blah (bar))
> everything works fine. When someone else edits the file, and adds:
> (define-foreign Foo ...)
> at the bottom, the algorithm will notice the aliasing, and will define
> `BAR' instead of `bar', breaking the client library.
As I said, you are using the wrong tool.
It's not the way that I would do it or have done it.
>> It's automatic, perfectly predictable, and trivial to implement.
>> Just unexpected if there happen to be aliases, which is why it tells
>> you about it, even though it completes. But as everyone agrees,
>> that is rather rare.
> If by "tells you about it" you mean some warning or error, then, like
> I said, it requires manual intervention therefore it's no longer
No. The converter process completes. It reports its results in
more ways than one.
No manual intervention. It just reports 'unexpected' behavior.
>> Furthermore, you'd have the same problem if you ever want to link
>> with a language that allows, say, spaces in identifiers.
> In *that* case I'm willing to use |...|s. Given the syntax for all
> current practical language, this is unlikely enough.
'Practical languages'. Hmm.
>>> Describing your particular obfuscation algorithm is a wart; one
>>> that the language should help you avoid instead of encouraging it.
>> Changing your language to be compatible with, say C, is a wart all
>> on its own.
> C is just one popular representative -- there are many, many others.
> (The only two examples of modern case-insensitivity that you came up
> with are not languages.)
So? It's what people are used to when dealing with computers.
There are far more computer users out there than programmers.
>>> Please look at that URL; Scheme users are worth more -- most of
>>> them wanted the change.
>> No. Those who read and answered the poll. I wasn't one of them,
>> for example. And I'm sure that there are others.
> That's why it's a poll and not an exhaustive questionnaire that any
> Schemer in the world was required to answer.
And hence not very reliable, is it?
Where's the analysis of the methodology?
>> And even a majority is a weak argument here.
> Why? Most of *us* -- active Scheme users, apparently liked the
Really? Most active Scheme users answered the poll?
And, if you wanted to make Scheme more C-ish in other ways, and a
wanted the change, does that mean that it should be done?
>> Sure you could. We could restrict Scheme identifiers to exactly the
>> same rules as C. Why aren't you proposing that?
> Because as a Scheme hacker I control the Scheme code that goes out;
> not the foreign code that comes in.
Not if you want to export some identifier of some library that you
Yes, you can rename it in Scheme, but that's akin to introducing an
in the external library before importing it into Scheme.
No difference in my view.
>> That's what the question asked. I answered the question as asked.
>> If he wanted to hear the answer to something else, he should have
>> asked something else.
> My claim was that students in countries that lack capitalization
> suffer from using mixed capitalization in code; you objected; Sam
> asked whether you ever taught people who don't know English. I
> somehow doubt that this was out of general curiousity.
Well, ask him. Don't ask me. I answered what he asked.
>>> [Countering an authority argument with your own personal
>>> assumptions is weaker.]
>> No. It is no weaker. It ends up being the same thing. To a third
>> party it is, in both cases, 'so and so says X'.
> Of course it's not the same thing -- imagine a court scene where the
> an expert witness finishes a long explanation, and the other side's
> lawyer stands up and says "well, in *my* opinion, you're confused and
> wrong, and I base that on absolutely nothing!".
> (Apologies to South-Park.)
Let those people defend their arguments. They are no doubt around.
And with respect to basing it on absolutely nothing, I disagree.
But apparently you dismiss any argument you don't like.
There is nothing I can do about that.
More information about the r6rs-discuss