On Feb 23, Guillermo J. Rozas wrote:
> 
> 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.

Please demonstrate how you would do that, in a way that always works
(reliably = no code auto-changing), and automatically.


> >> 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 automatic.
> 
> No.  The converter process completes.  It reports its results in
> more ways than one.
> 
> No manual intervention.  It just reports 'unexpected' behavior.

If it's not a warning, then please explain what you mean.  What I rule
out is any post-loading or post-expansion warnings that make me go
back and edit my sources.  You must have some other way to (hopefully)
skip the editing.


> >> 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.

Yes, of course!  In most Scheme's it is easy to specify identifiers
with spaces -- using bars; it's not convenient though.  The question
is: what wasn't it made more convenient?

I really see no problem in making Scheme *practical*.  It is an
extreme blessing for me to have a *practical* language, given how I
*practice* it every day.  If all I've cared about was teaching, then
I'd be happy with a language standard that would make R[2345]RS look
in comparison like CLtL.


> >>> 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.

There are far more people than there are computer users too, so what?
The identifiers in my code have nothing to do with them either.


> >>> 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?

No, not very reliable.  Still infinitely more indicative than anything
you've brought up so far.


> Where's the analysis of the methodology?

(The methodology was, BTW, to ask a question on a mailing list that
had many people who cared about the future of Scheme.)


> >> And even a majority is a weak argument here.
> >
> > Why?  Most of *us* -- active Scheme users, apparently liked the
> > change.
> 
> Really?  Most active Scheme users answered the poll?
> 
> And, if you wanted to make Scheme more C-ish in other ways, and a
> majority wanted the change, does that mean that it should be done?

The kind of majority that would be needed is one of the issues that
was discussed recently -- but yes, that's exactly the idea.

That's not saying that Scheme is going to turn into C -- it just
happens that the case issue turns out to be not as central to the
"spirit of Scheme" as you make it to be to most people.  If the
language was perfect as is, then what's the point of this mailing
list?


> >>> [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.

They do the sane thing -- ignore this ridiculous thread.  Even more
than that: they use an implementation where the choice of case doesn't
matter.  (Not because the implementation will not conform as a matter
of atatement; but because in that implementation implementing a case
sensitive language is nearly trivial.  And not needed, since it's
already there.)


> And with respect to basing it on absolutely nothing, I disagree.

You did say "0 time".

-- 
          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                  http://www.barzilay.org/                 Maze is Life!

_______________________________________________
r6rs-discuss mailing list
[email protected]
http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss

Reply via email to