From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Dale Mellor Newsgroups: gmane.lisp.guile.user Subject: Re: First look at Guile Std Library available Date: Sun, 4 Jan 2004 15:17:05 +0100 Sender: guile-user-bounces+guile-user=m.gmane.org@gnu.org Message-ID: <16376.8289.572500.721543@l.a> References: <20040102052128.GA16849@Richard-Todds-Computer.local> <87wu89q8pj.fsf@kanga.tapsellferrier.co.uk> <20040103221857.GA518@Richard-Todds-Computer.local> <20040104035022.GA742@Richard-Todds-Computer.local> NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Trace: sea.gmane.org 1073225983 2307 80.91.224.253 (4 Jan 2004 14:19:43 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Sun, 4 Jan 2004 14:19:43 +0000 (UTC) Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Sun Jan 04 15:19:40 2004 Return-path: Original-Received: from monty-python.gnu.org ([199.232.76.173]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1Ad96S-00074K-00 for ; Sun, 04 Jan 2004 15:19:40 +0100 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.24) id 1AdA3A-0006Og-Ea for guile-user@m.gmane.org; Sun, 04 Jan 2004 10:20:20 -0500 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1AdA2e-0006OF-By for guile-user@gnu.org; Sun, 04 Jan 2004 10:19:48 -0500 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1AdA28-0006Ju-Fw for guile-user@gnu.org; Sun, 04 Jan 2004 10:19:47 -0500 Original-Received: from [199.232.41.8] (helo=mx20.gnu.org) by monty-python.gnu.org with esmtp (TLSv1:DES-CBC3-SHA:168) (Exim 4.24) id 1AdA28-0006Jr-8g for guile-user@gnu.org; Sun, 04 Jan 2004 10:19:16 -0500 Original-Received: from [213.73.176.162] (helo=ldm.a) by mx20.gnu.org with esmtp (Exim 4.24) id 1Ad940-0003no-Jj for guile-user@gnu.org; Sun, 04 Jan 2004 09:17:08 -0500 Original-Received: from ldm.a (localhost.0.0.127.in-addr.arpa [127.0.0.1] (may be forged)) by ldm.a (8.12.5/8.12.5) with ESMTP id i04EH7dQ023005 for ; Sun, 4 Jan 2004 15:17:07 +0100 Original-Received: (from hydro23@localhost) by ldm.a (8.12.5/8.12.5/Submit) id i04EH7cW023002; Sun, 4 Jan 2004 15:17:07 +0100 X-Authentication-Warning: ldm.a: hydro23 set sender to Dale Mellor using -f Original-To: guile-user@gnu.org In-Reply-To: <16376.5782.10995.206284@l.a> X-Mailer: VM 7.14 under Emacs 21.3.1 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Xref: main.gmane.org gmane.lisp.guile.user:2518 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.user:2518 >>>>> "Thien-Thi" == Thien-Thi Nguyen writes: Thien-Thi> from lurking on the emacs-devel mailing list, i've come to Thien-Thi> understand the word "coherence" in an application context... in a Thien-Thi> library context, what kind of integration are we talking about? Thien-Thi> if integration is actually not what you mean, could you explain Thien-Thi> how would "coherence of the whole library" be measured? IMHO, in this case, coherence = efficiency, and efficiency is defined as the ratio of satiated user's expectations over lines of code to implement. In other words, a good library is one that meets a lot of people's needs without imposing a massive maintainence burden on the library maintainer (which in turn delivers reliability). Thien-Thi> here are two decisions you can make early on: Thien-Thi> (a) what is the policy re proliferation of work-alike (but not Thien-Thi> exactly identical) interfaces? one-size-fits-all vs Thien-Thi> pluralistic-menu... Thien-Thi> (b) what is the policy for changing an interface wrt backwards Thien-Thi> compatibility? Thien-Thi> IME as a "user" of programming languages, tools, and employees, Thien-Thi> useful trumps standard trumps efficient. in practice, efficiency Thien-Thi> is such a fuzzy concept, it is often measured in terms of Thien-Thi> usefulness! IMHO, we should be looking at a well designed one-size-fits-all interface approach (otherwise it will never be documented properly, and will be a slur against the purity of the scheme programming language). We should use three-part version numbers, and within a major version release there should be complete backwards compatibility among minor version changes (there may be localized compatibility breakages amongst micro versions as interfaces are worked out and stabilized). If one day it transpires that a wrong turn was made and a new direction is needed, then the major version should be incremented, and a new namespace (std-2, say) be introduced, ***but the older (std) namespace should be kept in the library so as not to break any existing code***. Dale _______________________________________________ Guile-user mailing list Guile-user@gnu.org http://mail.gnu.org/mailman/listinfo/guile-user