From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Kevin Ryde Newsgroups: gmane.lisp.guile.devel Subject: Re: srfi-39 implementation Date: Sun, 09 May 2004 10:48:04 +1000 Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Message-ID: <87brky5su3.fsf@zip.com.au> References: <20040506010251.GA3066@uab.es> NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1084064167 21464 80.91.224.253 (9 May 2004 00:56:07 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Sun, 9 May 2004 00:56:07 +0000 (UTC) Cc: guile-devel@gnu.org Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Sun May 09 02:56:00 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 1BMcbo-00011W-00 for ; Sun, 09 May 2004 02:56:00 +0200 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.33) id 1BMcXm-0006jH-MX for guile-devel@m.gmane.org; Sat, 08 May 2004 20:51:50 -0400 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.33) id 1BMcWX-0006Vd-Lz for guile-devel@gnu.org; Sat, 08 May 2004 20:50:33 -0400 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.33) id 1BMcUw-0005bH-Q6 for guile-devel@gnu.org; Sat, 08 May 2004 20:49:26 -0400 Original-Received: from [61.8.0.84] (helo=mailout1.pacific.net.au) by monty-python.gnu.org with esmtp (Exim 4.33) id 1BMcUH-0004cu-RK; Sat, 08 May 2004 20:48:14 -0400 Original-Received: from mailproxy2.pacific.net.au (mailproxy2.pacific.net.au [61.8.0.87]) by mailout1.pacific.net.au (8.12.3/8.12.3/Debian-6.6) with ESMTP id i490mB4u009804; Sun, 9 May 2004 10:48:11 +1000 Original-Received: from localhost (ppp2F9B.dyn.pacific.net.au [61.8.47.155]) by mailproxy2.pacific.net.au (8.12.3/8.12.3/Debian-6.6) with ESMTP id i490mAHV020991; Sun, 9 May 2004 10:48:10 +1000 Original-Received: from gg by localhost with local (Exim 3.36 #1 (Debian)) id 1BMcU8-0000Es-00; Sun, 09 May 2004 10:48:04 +1000 Original-To: Jose A Ortega Ruiz Mail-Copies-To: never User-Agent: Gnus/5.110002 (No Gnus v0.2) Emacs/21.3 (gnu/linux) X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.4 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 Xref: main.gmane.org gmane.lisp.guile.devel:3688 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.devel:3688 Jose A Ortega Ruiz writes: > > I'd be glad to transfer the copyright to the FSF (if needed; it's > barely 30 loc without comments) Paperwork will be required if adopted. > together with a little test program. Tests are vital, you'll never know if it works if you don't exercise all features. > #:use-module (ice-9 syncase) I believe syncase is pretty big and not very fast. define-macro or similar is probably a better idea. (And with enough quasiquote might hide all helpers :). > (define make-parameter > (case-lambda > ((val) (make-parameter/helper val (lambda (x) x))) ^^^^ `identity' in boot-9. > (define get-fluid-tag (lambda () 'get-fluid)) ;; arbitrary unique (as per eq?) value make-symbol perhaps. > (define (make-parameter/helper val conv) How does this stand in comparison to make-mutable-parameter in boot-9? Similar but not quite the same? > ((eq? (car new-value) get-fluid-tag) value) > ((eq? (car new-value) get-conv-tag) conv) Perhaps primitive-make-property or something to associate these, instead of a function call. (If I understand what it's trying to do.) > (define (check a b a-val b-val) > (if (not (eqv? (a) a-val)) (error "failure -- a" (a) a-val)) > (if (not (eqv? (b) b-val)) (error "failure -- b" (b) b-val))) No, you should use the test-suite/lib.scm framework. _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://mail.gnu.org/mailman/listinfo/guile-devel