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: New syntax: (: MODULE-NAME VARIABLE-NAME) Date: 16 Nov 2003 18:38:24 +0000 Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Message-ID: References: <87brrgw32m.fsf@zagadka.ping.de> <873ccsugrz.fsf@zagadka.ping.de> <874qx5slpw.fsf@zagadka.ping.de> <871xs8qkxz.fsf@zagadka.ping.de> NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1069008067 24527 80.91.224.253 (16 Nov 2003 18:41:07 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Sun, 16 Nov 2003 18:41:07 +0000 (UTC) Cc: guile-devel@gnu.org Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Sun Nov 16 19:41:04 2003 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 1ALRpY-00036W-00 for ; Sun, 16 Nov 2003 19:41:04 +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 1ALSmb-0002iW-8s for guile-devel@m.gmane.org; Sun, 16 Nov 2003 14:42:05 -0500 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1ALSlK-0001tW-7S for guile-devel@gnu.org; Sun, 16 Nov 2003 14:40:46 -0500 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1ALSke-0000dk-QJ for guile-devel@gnu.org; Sun, 16 Nov 2003 14:40:36 -0500 Original-Received: from [80.84.72.21] (helo=s1.uklinux.net) by monty-python.gnu.org with esmtp (Exim 4.24) id 1ALSkU-0000DP-6L for guile-devel@gnu.org; Sun, 16 Nov 2003 14:39:54 -0500 Original-Received: from laruns.ossau.uklinux.net (bts-0449.dialup.zetnet.co.uk [194.247.49.193]) by s1.uklinux.net (8.11.6/8.11.6) with ESMTP id hAGIcRE02244; Sun, 16 Nov 2003 18:38:27 GMT Original-Received: from laruns.ossau.uklinux.net.ossau.uklinux.net (localhost [127.0.0.1]) by laruns.ossau.uklinux.net (Postfix on SuSE Linux 7.2 (i386)) with ESMTP id 6A86FDC4D4; Sun, 16 Nov 2003 18:38:24 +0000 (GMT) Original-To: Marius Vollmer In-Reply-To: Original-Lines: 44 User-Agent: Gnus/5.0808 (Gnus v5.8.8) Emacs/20.7 X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.2 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:3034 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.devel:3034 >>>>> "Marius" == Marius Vollmer writes: Marius> Hmm, I would find it more natural to have a separate macro, like Marius> (:: MOD-NAME VAR-NAME) Marius> where '::' would be the (to me) obvious choice of name. Marius> Unfortunately, with (read-set! keyword 'prefix) that name would be a Marius> keyword... Sorry that my thoughts on this are coming out in such a trickle! I just noticed, though, that there are some other symbols (than :) available that don't have other meanings and which could be understood as relevant to a module lookup: (@ MOD-NAME VAR-NAME) Seems quite good, with @ meaning `at' as in `in the specified module'. ($ MOD-NAME VAR-NAME) Tenuous link to $'s use in many languages for variable reference. Clashes with not-yet-widespread use of $ for value-history, though. (. MOD-NAME VAR-NAME) Intuitively very similar to : IMO, but without the keyword issues. However, (i) some people might want `.' for the mathematical dot (scalar) product; (ii) Guile currently seems confused about whether `.' is a symbol: guile> . ERROR: Unbound variable: . ABORT: (unbound-variable) guile> '. . guile> (define . 1) ERROR: In procedure memoization: ERROR: In line 3: Bad expression (define . 1). ABORT: (syntax-error) (? MOD-NAME VAR-NAME) Quite nice, ? meaning a query, so a lookup. Of these, I like @ the most. Neil _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://mail.gnu.org/mailman/listinfo/guile-devel