guile-user
[Top][All Lists]
Advanced

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

Re: defining new character names?


From: Keith Wright
Subject: Re: defining new character names?
Date: Thu, 22 Aug 2002 00:12:21 -0400

> From: Lynn Winebarger <address@hidden>
> 
> Given the raging debate on this, I'll point out that Chez
> Scheme has a function char-name that does this job.
> 
>       It serves multiple purposes.

I endorse everthing Ralf said about the need for multiple
names for multiple purposes, without prejudice to the
question of whether any of it is any good at all.

>       As for constants, there's no reason to believe we want
> character names to be constant.  There's plenty of reason
> to consider forms for setting constants, but this is not one of
> them.

What is a settable constant if not a variable?

> Consider
> 
> (char-name 'separator #\tab)
>  ....
>          (begin (display (format "~s~s~s" a #\separator b)) (newline))
>  ....
> (char-name 'separator #\space)

How is this different from
  (define separator #\tab)
  (format #t "~a~a~a~%" a separator b)
  (define separator #\space)
?

> Sure it's ugly, but some people like that sort of thing.

Surely they would like even better a beautiful thing of the same sort!

> Perhaps you've heard of functions with a variable number
> of arguments?

Yes, of course.  They include + and *, which do the same thing
to all arguments, and READ and LOAD, which supply a useful
default for a missing argument.

If there is another example of one that changes from fetching
to defining based upon the number of arguments, then I suggest
we kill it before it breeds.

> I just hope it's not a copyright violation, as it's almost
> verbatim from the chez user's guide.

It is fair use to take a short quote for criticism.

Sorry about the double post earlier.

-- 
     -- Keith Wright  <address@hidden>

Programmer in Chief, Free Computer Shop <http://www.free-comp-shop.com>
         ---  Food, Shelter, Source code.  ---




reply via email to

[Prev in Thread] Current Thread [Next in Thread]