From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: rm@fabula.de Newsgroups: gmane.lisp.guile.user Subject: Re: defining new character names? Date: Thu, 22 Aug 2002 09:42:59 +0200 Sender: guile-user-admin@gnu.org Message-ID: <20020822074259.GB26321@www> References: <0208211024200K.19624@locke.free-expression.org> <0208211327230L.19624@locke.free-expression.org> <200208220412.g7M4CLK01638@fcs9.free-comp-shop.com> <0208220016240P.19624@locke.free-expression.org> NNTP-Posting-Host: localhost.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1030001344 15477 127.0.0.1 (22 Aug 2002 07:29:04 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Thu, 22 Aug 2002 07:29:04 +0000 (UTC) Cc: Keith Wright , guile-user@gnu.org Return-path: Original-Received: from monty-python.gnu.org ([199.232.76.173]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 17hmOs-00041L-00 for ; Thu, 22 Aug 2002 09:29:03 +0200 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.10) id 17hmPw-0008Kg-00; Thu, 22 Aug 2002 03:30:08 -0400 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.10) id 17hmPm-0008KA-00 for guile-user@gnu.org; Thu, 22 Aug 2002 03:29:58 -0400 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.10) id 17hmPk-0008Jy-00 for guile-user@gnu.org; Thu, 22 Aug 2002 03:29:58 -0400 Original-Received: from www.elogos.de ([212.18.192.92]) by monty-python.gnu.org with esmtp (Exim 4.10) id 17hmPk-0008Jt-00 for guile-user@gnu.org; Thu, 22 Aug 2002 03:29:56 -0400 Original-Received: by www.elogos.de (Postfix, from userid 5001) id 4F9ED1049C0; Thu, 22 Aug 2002 09:42:59 +0200 (CEST) Original-To: Lynn Winebarger Content-Disposition: inline In-Reply-To: <0208220016240P.19624@locke.free-expression.org> User-Agent: Mutt/1.3.24i Errors-To: guile-user-admin@gnu.org X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.0.11 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: Xref: main.gmane.org gmane.lisp.guile.user:842 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.user:842 On Thu, Aug 22, 2002 at 12:16:24AM -0500, Lynn Winebarger wrote: > On Wednesday 21 August 2002 23:12, Keith Wright wrote: > > 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? > > By setting constants, I meant binding a name to a value > and that value not being allowed to change during its lifetime. > It's not quite the same as a "settable constant". Hmm, but where then is the difference to a plain ol' variable? A variable is a symbolic name that stands for 'something'. That 'something' can be changed (by means of 'set!', for example), even so most functional programmers try to avoid it. > > > Beauty's in the eye of the beholder. Maybe they like Perl. > If you considered my last email's proposal of making character > names be variables evaluated in "character space", it might even > be useful for switching charactersets on the fly. Slow, but it could > work. Just swap in an entirely different table, and boom, the same > lambda will use different integers for the same character names. > Of course, I don't know much about that problem, so that solution > might not be useful at all. This is exactly what variables are for. It seems to me that what you suggest is: #\abcd is a variable that can be changed during program run time (where the '#\' part of the symbol is just an indication that the 'something' that is bound to it is a character). This has two consequences: - you leave scheme's weak typing system (where a variable can be bound to things of different type). There's nothing like "character space" is scheme, as much as there isn't a "function space" (as there is in LISP). - You leave rNrs: the character sequence '#\' is reserved to start a character constant (r5rs, Section 6.3.4). [...] > My own attempt at facetiousness. Dybvig's put the whole thing > on scheme.com, so you don't have to rely on my little outtake. He > puts it under the heading of I/O control operations. Thank's for the pointer, i'll have to check that. Strange, i'm getting really curious to see how Chez does this. Ralf > Lynn > > > _______________________________________________ > Guile-user mailing list > Guile-user@gnu.org > http://mail.gnu.org/mailman/listinfo/guile-user _______________________________________________ Guile-user mailing list Guile-user@gnu.org http://mail.gnu.org/mailman/listinfo/guile-user