From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Neil Jerram Newsgroups: gmane.lisp.guile.devel Subject: Re: How to detect a procedure Date: 01 May 2002 23:18:48 +0100 Sender: guile-devel-admin@gnu.org Message-ID: References: <3CCF436E.C4D765DF@pacbell.net> <87ofg0k32b.fsf@raven.i.defaultvalue.org> <0204302146430M.10649@locke.free-expression.org> <87k7qok041.fsf@raven.i.defaultvalue.org> <3CD05FD1.D2D9D53B@pacbell.net> NNTP-Posting-Host: localhost.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1020292067 16845 127.0.0.1 (1 May 2002 22:27:47 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Wed, 1 May 2002 22:27:47 +0000 (UTC) Cc: Rob Browning , Lynn Winebarger , bitwize@wizards-of-source.org, guile-devel@gnu.org Return-path: Original-Received: from fencepost.gnu.org ([199.232.76.164]) by main.gmane.org with esmtp (Exim 3.33 #1 (Debian)) id 1732Ze-0004NT-00 for ; Thu, 02 May 2002 00:27:46 +0200 Original-Received: from localhost ([127.0.0.1] helo=fencepost.gnu.org) by fencepost.gnu.org with esmtp (Exim 3.34 #1 (Debian)) id 1732Yx-0001gR-00; Wed, 01 May 2002 18:27:03 -0400 Original-Received: from mail.uklinux.net ([80.84.72.21] helo=s1.uklinux.net) by fencepost.gnu.org with esmtp (Exim 3.34 #1 (Debian)) id 1732WP-0001RI-00 for ; Wed, 01 May 2002 18:24:26 -0400 Original-Received: from portalet.ossau.uklinux.net (dial-212-159-133-187.access.uk.tiscali.com [212.159.133.187]) by s1.uklinux.net (8.11.6/8.11.6) with ESMTP id g41MNuj13012; Wed, 1 May 2002 23:23:56 +0100 Original-Received: from laruns.ossau.uklinux.net.ossau.uklinux.net (laruns.ossau.uklinux.net [192.168.1.3]) by portalet.ossau.uklinux.net (8.11.3/8.11.3/SuSE Linux 8.11.1-0.5) with ESMTP id g41NMt815080; Wed, 1 May 2002 23:22:55 GMT Original-To: Bruce Korb Original-Lines: 37 User-Agent: Gnus/5.0808 (Gnus v5.8.8) Emacs/20.7 Errors-To: guile-devel-admin@gnu.org X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.0.9 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Developers list for Guile, the GNU extensibility library List-Unsubscribe: , List-Archive: Xref: main.gmane.org gmane.lisp.guile.devel:577 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.devel:577 >>>>> "Bruce" == Bruce Korb writes: Bruce> Rob Browning wrote: >> >> Lynn Winebarger writes: >> >> >> (defined-as? 'mumble procedure?) >> > >> > How about (defined-as procedure? 'mumble) >> > to keep the predicate clear? >> >> Looks better to me :> Bruce> Me, too :) But I think Rob's definition was missing a quote. This works for me: (define-macro (defined-as predicate symbol) `(and (defined? ',symbol) (,predicate ,symbol))) guile> (defined-as procedure? procedure?) #t guile> (defined-as procedure? does-not-exist) #f guile> (defined-as procedure? defined-as) #f guile> (defined-as macro? defined-as) #t guile> (defined-as procedure? %load-path) #f guile> (defined-as list? %load-path) #t Neil _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://mail.gnu.org/mailman/listinfo/guile-devel