From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Bruce Korb Newsgroups: gmane.lisp.guile.devel Subject: Re: Guile: What's wrong with this? Date: Wed, 04 Jan 2012 14:18:05 -0800 Message-ID: <4F04D01D.5050801@gnu.org> 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> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Trace: dough.gmane.org 1325715496 13767 80.91.229.12 (4 Jan 2012 22:18:16 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Wed, 4 Jan 2012 22:18:16 +0000 (UTC) To: guile-devel@gnu.org Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Wed Jan 04 23:18:13 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 1RiZ9w-0003T0-Nu for guile-devel@m.gmane.org; Wed, 04 Jan 2012 23:18:12 +0100 Original-Received: from localhost ([::1]:54914 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RiZ9w-0006NH-1m for guile-devel@m.gmane.org; Wed, 04 Jan 2012 17:18:12 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]:37309) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RiZ9t-0006N1-3y for guile-devel@gnu.org; Wed, 04 Jan 2012 17:18:09 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RiZ9s-0003CW-2J for guile-devel@gnu.org; Wed, 04 Jan 2012 17:18:09 -0500 Original-Received: from fencepost.gnu.org ([140.186.70.10]:59949) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RiZ9r-0003CS-Rz for guile-devel@gnu.org; Wed, 04 Jan 2012 17:18:07 -0500 Original-Received: from adsl-75-0-186-252.dsl.pltn13.sbcglobal.net ([75.0.186.252]:60533 helo=[10.0.0.2]) by fencepost.gnu.org with esmtpsa (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1RiZ9r-0002Ca-Go for guile-devel@gnu.org; Wed, 04 Jan 2012 17:18:07 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:9.0) Gecko/20111220 Thunderbird/9.0 In-Reply-To: <87lipnm8yx.fsf@Kagami.home> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 140.186.70.10 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:13303 Archived-At: On 01/04/12 13:52, Ian Price wrote: >> So my main question is: >> >> Which is the higher priority, language purity or ease of use? > That is a loaded question, as it presupposes ease of use is always the > same thing as impurity e.g. ... Absolutely not. Making decisions is always about trade-offs, otherwise it is not really a decision. Should you give preference to language aesthetics, or preference to ease of use *when* there is a divergence? More often than not, language purity (consistency) *improves* ease of use. Here we are looking at something that does not appear to me to improve ease of use. You have to go to some extra trouble to be certain that a string value that you have assigned to an SCM is not read only. That is not convenience. If Guile were to implement copy on write, then the user would not have to care whether a string were shared read only or not. It would be easier to use. The only code that would care at all would be the Guile internals. (Where it belongs -- my completely unhumble opinion :)