From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Mike Gran Newsgroups: gmane.lisp.guile.user,gmane.lisp.guile.devel Subject: Re: GNU Guile 1.9.2 released (alpha) Date: Mon, 17 Aug 2009 12:19:53 -0700 (PDT) Message-ID: <39924.34226.qm@web37908.mail.mud.yahoo.com> References: <87iqgpkyzv.fsf@gnu.org> <3ae3aa420908171129y3d3548bclb3193c740effc74@mail.gmail.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1250536899 2122 80.91.229.12 (17 Aug 2009 19:21:39 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 17 Aug 2009 19:21:39 +0000 (UTC) Cc: guile-user@gnu.org, guile-devel@gnu.org To: linasvepstas@gmail.com, =?iso-8859-1?Q?Ludovic_Court=E8s?= Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Mon Aug 17 21:21:31 2009 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1Md7kc-0007CZ-Ca for guile-user@m.gmane.org; Mon, 17 Aug 2009 21:20:15 +0200 Original-Received: from localhost ([127.0.0.1]:54194 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Md7kb-00009d-Dz for guile-user@m.gmane.org; Mon, 17 Aug 2009 15:20:13 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Md7kN-00009V-H1 for guile-user@gnu.org; Mon, 17 Aug 2009 15:19:59 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Md7kJ-00007P-Rv for guile-user@gnu.org; Mon, 17 Aug 2009 15:19:59 -0400 Original-Received: from [199.232.76.173] (port=42796 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Md7kJ-00007J-MS for guile-user@gnu.org; Mon, 17 Aug 2009 15:19:55 -0400 Original-Received: from web37908.mail.mud.yahoo.com ([209.191.91.170]:25440) by monty-python.gnu.org with smtp (Exim 4.60) (envelope-from ) id 1Md7kJ-0005nf-6l for guile-user@gnu.org; Mon, 17 Aug 2009 15:19:55 -0400 Original-Received: (qmail 34779 invoked by uid 60001); 17 Aug 2009 19:19:54 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s1024; t=1250536794; bh=X2haNJON0y+ajwirQXVqKG6EiJ9pQPWpzxBigVjda+s=; h=Message-ID:X-YMail-OSG:Received:X-Mailer:References:Date:From:Subject:To:Cc:In-Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding; b=Q0vF4lgnpqZi7cD0/lFpVsmx+mYfUVKGifTdjtl5LjWcVwjIzjSnp7dX5kGZc+PAwWwKLC5BWtgAkljFSKc6I3GHEzAYSVBkuwvyyq1zM/93c+9gICAHx15W7GeTM6yrXnScZuOWw9fdrJcFZXWVWZahVO9PsC2ZHVbcJBhYjps= DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=Message-ID:X-YMail-OSG:Received:X-Mailer:References:Date:From:Subject:To:Cc:In-Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding; b=37LWbNws7JOaitGFvgE88S4a6im+rGLmHl5t34HoHqobzVpTdEtC74PGDrHYvN2M+s4HkDYWFPcvvnBpGFBAp7SEtynVFICfuuzwNZqbnshG92CjgaGo83GJh0druRHPC5lYPtAbFpKUv5vTZdQOLrERpDg9rXIkrEpoof2PZUk=; X-YMail-OSG: fEvKROIVM1kFbFkkxoWqbZrbkO.qAumPFDLszv6OfFM867QNS6EW4Im6DXSKYNa9xI8.KW3hCtz2hrI.8Iv1oRIz_wdwqmLZDcaKZLHdh8txItJlaaRKqG56nkIjx6BYOJVxTsOGRiymK2.dEporgMkJ0HCiHFt4sXlqdv2__PbInieN7U_WpqOoCZ6iJRgzEijlMdMtGnFjx9_20NfpRQBwrNLRzugInx41I9eGIlw4za3ixOn5DlvQuoHGaNtMX3mku0yoQxvRnhIAxyzXSaxs2YoQiKunsZlDSXi1i87qVBrjjWsC5YVWlBALBFEqu.clX5ouHT7aC0uENTU- Original-Received: from [207.8.91.2] by web37908.mail.mud.yahoo.com via HTTP; Mon, 17 Aug 2009 12:19:53 PDT X-Mailer: YahooMailRC/1358.27 YahooMailWebService/0.7.338.2 In-Reply-To: <3ae3aa420908171129y3d3548bclb3193c740effc74@mail.gmail.com> X-detected-operating-system: by monty-python.gnu.org: FreeBSD 6.x (1) X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-user-bounces+guile-user=m.gmane.org@gnu.org Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.user:7413 gmane.lisp.guile.devel:9141 Archived-At: > From: Linas Vepstas =0A> =0A> 2009/8/15 Ludovic C= ourt=E8s :=0A> =0A> > =A0** Incomplete support for Unicode characters and s= trings=0A> >=0A> > =A0Internally, strings are now represented either in the= `latin-1'=0A> > =A0encoding, one byte per character, or in UTF-32, with fo= ur bytes per=0A> > =A0character.=0A> =0A> Will this eventually move to UTF8= ? European languages typically=0A> use only a small handful of non-latin sy= mbols, typically just misc=0A> punctuation.=A0 I recent dump of voice-of-am= erica=A0 radio broadcasts=0A> I ran through guile used misc UTF8 punctuatio= n ... backwards-facing=0A> double-quotes, ellipsis, etc.=A0 I'd hate to see= this common case=0A> blow up to 32-bits per char just to accommodate stray= punctuation.=0A> =0A=0AWe've gone back and forth on this.=A0 I think, for = the near term, in=0Aterms of my personal involvement with Guile, the answer= is 'no'.=A0 =0A=0AThe problem lies in in the R6Rs requirement that functio= ns like =0Astring-ref run in 'constant time'.=A0 To implement that with UTF= -8=0Arequires that internally a string be both character storage and=0Aan i= ndexing scheme to point to the start of the characters in =0Athat storage.= =0A=0AIf it weren't for the 'constant time' requirement, UTF-8 would=0Ahave= been the winner hands down.=0A=0AIt is likely true that a UTF-8 character = store and indexing scheme =0Acould be created that would be less memory-int= ensive that UTF-32=0Aalone and still allow for constant time accesses.=A0 B= ut,=A0in my =0Auniformed=A0opinion (since I haven't=A0tried to implement su= ch a =0Athing myself), I don't think the memory savings would be =0Aso much= less than UTF-32 to justify the complexity.=0A=0AHowever, in terms of 2.0,= the Unicode patches that I'll be asking=0ALudo, Andy, and Neil to review w= ill leave Guile in better =0Aposition to swap out internal string represent= ations, so =0Aa future switch to UTF8 wouldn't be as painful as this switch= has=0Abeen so far.=0A=0A> --linas=0A=0A-Mike