From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Mike Gran Newsgroups: gmane.lisp.guile.devel Subject: Re: Guile: What's wrong with this? Date: Wed, 4 Jan 2012 15:22:41 -0800 (PST) Message-ID: <1325719361.74748.YahooMailNeo@web37902.mail.mud.yahoo.com> References: <4F027F35.5020001@gmail.com> <1325603029.22166.YahooMailNeo@web37906.mail.mud.yahoo.com> <4F032C41.3070300@gmail.com> <87mxa4ifux.fsf@gnu.org> <4F038BF4.1070200@gnu.org> <87obujzmmc.fsf@Kagami.home> <4F048972.5040803@gnu.org> <87lipnm8yx.fsf@Kagami.home> <4F04D01D.5050801@gnu.org> Reply-To: Mike Gran 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: dough.gmane.org 1325719372 8368 80.91.229.12 (4 Jan 2012 23:22:52 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Wed, 4 Jan 2012 23:22:52 +0000 (UTC) To: Bruce Korb , "guile-devel@gnu.org" Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Thu Jan 05 00:22:49 2012 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1RiaAS-00065W-0r for guile-devel@m.gmane.org; Thu, 05 Jan 2012 00:22:48 +0100 Original-Received: from localhost ([::1]:42537 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RiaAR-0001Ag-GC for guile-devel@m.gmane.org; Wed, 04 Jan 2012 18:22:47 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]:50450) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RiaAN-0001Aa-Ud for guile-devel@gnu.org; Wed, 04 Jan 2012 18:22:44 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RiaAM-0003lv-W4 for guile-devel@gnu.org; Wed, 04 Jan 2012 18:22:43 -0500 Original-Received: from nm37-vm6.bullet.mail.bf1.yahoo.com ([72.30.238.206]:29540) by eggs.gnu.org with smtp (Exim 4.71) (envelope-from ) id 1RiaAM-0003ln-NO for guile-devel@gnu.org; Wed, 04 Jan 2012 18:22:42 -0500 Original-Received: from [98.139.215.140] by nm37.bullet.mail.bf1.yahoo.com with NNFMP; 04 Jan 2012 23:22:42 -0000 Original-Received: from [98.139.212.222] by tm11.bullet.mail.bf1.yahoo.com with NNFMP; 04 Jan 2012 23:22:42 -0000 Original-Received: from [127.0.0.1] by omp1031.mail.bf1.yahoo.com with NNFMP; 04 Jan 2012 23:22:42 -0000 X-Yahoo-Newman-Property: ymail-3 X-Yahoo-Newman-Id: 208958.3520.bm@omp1031.mail.bf1.yahoo.com Original-Received: (qmail 77757 invoked by uid 60001); 4 Jan 2012 23:22:41 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s1024; t=1325719361; bh=dvnxZu4B4hK9MOtdCceZjr2guUpTeoLvqF2vEJSp56M=; h=X-YMail-OSG:Received:X-Mailer:References:Message-ID:Date:From:Reply-To:Subject:To:In-Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding; b=M17gbeH43qENg1upBvPyiI0V1wYzqHxoOPomfBbGkVPItxkTDWuICjNvhihr7FtK3ft47CiVvFseKybooJ02AvTdATXhXB2s3y/4V2tT4245ufomDv/AtKVDfc3zfRqi6v5hDij2Tvy3cyvN3Hjvd32AE7vVbtfdxsY2SrR/hCc= DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=X-YMail-OSG:Received:X-Mailer:References:Message-ID:Date:From:Reply-To:Subject:To:In-Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding; b=4OdI59t5KQ5sqGvwBT4L/7uO3E0lF9fkaDJxJyyPj0wj11MUXxJuhifrtpj3ZQT9iYys0W5O9P8D81y0ZRbXmAn8wnjDq0ws8CeZaBzTfPsYEI6edAxQvTty4tj5Axff1x16uNfO2k4RuxbbDzv83QUweB28VLrc4TZMMEa444E=; X-YMail-OSG: vGAex3kVM1nX6Cz3FUFuwgooNVYI2azsutKzCZdvdBt603a hECnjylIeOfWRcnKvG2uf0A0nxd0GesktLiPQFjmUqKBb1koTc0MjPkOMbgp WbNfnD1uMla8QEy_M8l8rDxT.9UT4kABUpuJ35WrZ7c3iJMRqlsxf1N3d5TL H.MspL3rE_9U0UqJOWAOgcW4GGsMm796PMSW_QaD7svmkAcgFxrQVNJAA1WC VQk1z6rG28V1rbjDZRIeUF8rMG7G2uuj4zQ908FXWiGeDkIiG98a7YPvMvf9 2_M7X5vq780673BWmSzPw5eOf9p0BEh9iYX8qEZoX1RqY_GG3aEb70y4AgWW fRVU6MqwlqWX1SBy23iRE8fmwMm65pF5CatlgToKFjbePPfWvwLlkqMGtvxm RDzhAxodjfLQeyFnV45CHJKtkQfizTuwIVUDfd_Ax1kavqUObNXhpL1v7Zbe Kus_Z9yn.Ek_J.gN.lGs- Original-Received: from [66.80.183.50] by web37902.mail.mud.yahoo.com via HTTP; Wed, 04 Jan 2012 15:22:41 PST X-Mailer: YahooMailWebService/0.8.115.331698 In-Reply-To: <4F04D01D.5050801@gnu.org> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 72.30.238.206 X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:13308 Archived-At: > From: Bruce Korb =0A>>> =A0 =A0 Which is the higher priori= ty, language purity or ease of use?=0A=0A>> That is a loaded question, as = it presupposes ease of use is always the=0A>> same thing as impurity e.g. = ...=0A=0A> Absolutely not.=A0 Making decisions is always about trade-offs,= =0A> otherwise it is not really a decision.=A0 Should you give preference= =0A> to language aesthetics, or preference to ease of use *when*=0A> there = is a divergence?=A0 More often than not, language purity=0A> (consistency) = *improves* ease of use.=A0 Here we are looking at=0A> something that does n= ot appear to me to improve ease of use.=0A> You have to go to some extra tr= ouble to be certain that a string=0A> value that you have assigned to an SC= M is not read only.=0A> That is not convenience.=A0 If Guile were to implem= ent copy on write,=0A> then the user would not have to care whether a strin= g were=0A> shared read only or not.=A0 It would be easier to use.=A0 The on= ly code=0A> that would care at all would be the Guile internals.=A0 (Where = it=0A> belongs -- my completely unhumble opinion :)=0A=0AWell, I've read al= l the posts in this thread,=A0and I was pretty aware=0Aof the arguments abo= ut read-only strings before this.=A0 So since I=0Ahave=A0little left=A0to c= ontribute, I'll sign off=A0with one final=0Astatement about it...=0A=A0=0AI= agree=A0completely with Bruce's=A0statement above.=0A=A0=0AThe mutability = of strings in Guile 1.8 was a feature, not a weakness.=0AEven though it was= n't properly implemented, as Mark pointed out, it=0Adid what I meant every = time I used it.=0A=A0=0AI believe that mutability should be the default in = all data types.=0ACreating an immutable compound data type --=A0be it=A0a s= tring, pair,=0Avector or whatever -- should never be the default, and shoul= d always=0Abe the case that requires extra syntax.=0A=A0=0AR{5,6,7}RS disag= rees with me on that, of course.=A0 I think R{5,6,7}RS=0Ais wrong.=A0=0A=A0= =0AI understand the efficiency argument for immutable strings (and pairs).= =0AI don't care, because Guile has never been slow for anything I've asked= =0Ait to do.=0A=A0=0AThat, I guess, is my completely unhumble opinion. :)= =0A=A0=0ARegards,=0A=A0=0AMike