From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Neil Jerram Newsgroups: gmane.lisp.guile.user Subject: Re: Doc organization (Re: Around again, and docs lead role) Date: 14 May 2003 00:01:36 +0100 Sender: guile-user-bounces+guile-user=m.gmane.org@gnu.org Message-ID: References: <3E92E1B4002B0632@pop3.tiscalinet.es> <3EAFE4EC000D9733@pop1.tiscalinet.es> <87d6its93b.fsf@raven.i.defaultvalue.org> <200305091152.EAA26081@cmn14.stanford.edu> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1052867595 16460 80.91.224.249 (13 May 2003 23:13:15 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Tue, 13 May 2003 23:13:15 +0000 (UTC) Cc: guile-user@gnu.org Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Wed May 14 01:13:13 2003 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 19FixN-0004H7-00 for ; Wed, 14 May 2003 01:13:13 +0200 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 19FisX-0001sn-04 for guile-user@m.gmane.org; Tue, 13 May 2003 19:08:13 -0400 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.10.13) id 19FiqI-0000Zn-00 for guile-user@gnu.org; Tue, 13 May 2003 19:05:54 -0400 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.10.13) id 19Fiop-0007mJ-00 for guile-user@gnu.org; Tue, 13 May 2003 19:04:24 -0400 Original-Received: from mail.uklinux.net ([80.84.72.21] helo=s1.uklinux.net) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 19FinM-0006tG-00 for guile-user@gnu.org; Tue, 13 May 2003 19:02:53 -0400 Original-Received: from laruns.ossau.uklinux.net (bts-0715.dialup.zetnet.co.uk [194.247.50.203]) by s1.uklinux.net (8.11.6p2/8.11.6) with ESMTP id h4DN2jx25754; Wed, 14 May 2003 00:02:46 +0100 Original-Received: from laruns.ossau.uklinux.net.ossau.uklinux.net (localhost [127.0.0.1])ESMTP id 19DF7DC4D3; Wed, 14 May 2003 00:01:36 +0100 (BST) Original-To: Bill Schottstaedt In-Reply-To: <200305091152.EAA26081@cmn14.stanford.edu> Original-Lines: 67 User-Agent: Gnus/5.0808 (Gnus v5.8.8) Emacs/20.7 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1b5 Precedence: list List-Id: General Guile related discussions List-Help: List-Post: List-Subscribe: , List-Archive: List-Unsubscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Xref: main.gmane.org gmane.lisp.guile.user:1945 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.user:1945 >>>>> "Bill" == Bill Schottstaedt writes: Bill> I use scm_internal_stack_catch a lot (and can't see any need Bill> for Guile to remove it...) -- I pass closures/functions/user Bill> scheme code around in C, as well as providing a "listener" Bill> where anything might happen -- this would be clumsy to Bill> implement with some callback to scheme (and no easier to Bill> write in scheme than in C Yes, I see. I think one could express what this code does nicely in Scheme, but the maturity of the Snd code and the build time support for Ruby as well as Guile would make the exercise hard and unrewarding. In this context, my suggestion is a bit like saying "well if I were you I wouldn't start from here." I still contend, though, that if the Guile docs had been clearer, more complete and more "canonical" when you started writing Snd (or perhaps adding Guile to Snd), you might naturally have written more of Snd in Scheme and therefore created a more extensible, maintainable and generally hackable program. What do you think? Bill> -- the tricky part is good error handling which Guile flubs Bill> miserably anyway). It does? Can you give more details here? Bill> Why try to force people to write scheme? It seems to me Bill> that you're defeating the whole purpose of Guile just to Bill> simplify its documentation. Because: - I believe that is the point of Guile: higher level languages lower your "hacktivation energy", to use an old quote - I believe (therefore) that people will be more productive that way - I think that promoting a canonical "way of using Guile" will help me (or someone else) to complete Guile's documentation clearly, which I think will attract more developers to using and improving Guile - I think that one of Guile's current problems is managing API changes between releases. If we can reasonably shrink the official API, it makes the problem easier. Bill> Or to put it another way, if you don't have the C-level Bill> catch mechanism, you better not use scm_apply or anything Bill> related to it. That leaves scm_num2int? I don't follow this. What is wrong with the following? In C: scm_call_1 (scm_c_lookup ("my-func"), str); In Scheme: (define (my-func str) (catch #t (lambda () ... whatever ...) (lambda (key . args) ... handle errors ...))) Thanks for your input. (And please don't worry - everything I've said is only suggestions - there are no plans to implement any of it yet (if ever).) Neil _______________________________________________ Guile-user mailing list Guile-user@gnu.org http://mail.gnu.org/mailman/listinfo/guile-user