From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: ludovic.courtes@laas.fr (Ludovic =?iso-8859-1?Q?Court=E8s?=) Newsgroups: gmane.lisp.guile.devel Subject: Re: [PATCH] Per-module reader Date: Tue, 27 Sep 2005 11:04:04 +0200 Organization: LAAS-CNRS Message-ID: <87k6h2vq4b.fsf@laas.fr> References: <87u0gp9lm3.fsf@laas.fr> <878xxk1070.fsf@laas.fr> <87ll1jtp54.fsf@zip.com.au> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1127814689 31761 80.91.229.2 (27 Sep 2005 09:51:29 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Tue, 27 Sep 2005 09:51:29 +0000 (UTC) Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Tue Sep 27 11:51:27 2005 Return-path: Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1EKC6M-0008IK-Sy for guile-devel@m.gmane.org; Tue, 27 Sep 2005 11:50:19 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1EKC6M-0001Yn-Ic for guile-devel@m.gmane.org; Tue, 27 Sep 2005 05:50:18 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1EKBYX-0002Cr-2E for guile-devel@gnu.org; Tue, 27 Sep 2005 05:15:21 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1EKBUA-00086m-Q7 for guile-devel@gnu.org; Tue, 27 Sep 2005 05:10:54 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1EKBPQ-0006qO-4Z for guile-devel@gnu.org; Tue, 27 Sep 2005 05:05:58 -0400 Original-Received: from [140.93.0.15] (helo=laas.laas.fr) by monty-python.gnu.org with esmtp (TLS-1.0:DHE_RSA_3DES_EDE_CBC_SHA:24) (Exim 4.34) id 1EKBP5-0005a9-5W for guile-devel@gnu.org; Tue, 27 Sep 2005 05:05:35 -0400 Original-Received: by laas.laas.fr (8.13.1/8.13.4) with SMTP id j8R95VIY011460; Tue, 27 Sep 2005 11:05:31 +0200 (CEST) Original-To: guile-devel@gnu.org X-URL: http://www.laas.fr/~lcourtes/ X-Revolutionary-Date: 6 =?iso-8859-1?Q?Vend=E9miaire?= an 214 de la =?iso-8859-1?Q?R=E9volution?= X-PGP-Key-ID: 0xEB1F5364 X-PGP-Key: http://www.laas.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 821D 815D 902A 7EAB 5CEE D120 7FBA 3D4F EB1F 5364 X-OS: powerpc-unknown-linux-gnu Mail-Followup-To: guile-devel@gnu.org In-Reply-To: <87ll1jtp54.fsf@zip.com.au> (Kevin Ryde's message of "Tue, 27 Sep 2005 08:55:51 +1000") User-Agent: Gnus/5.110004 (No Gnus v0.4) Emacs/21.4 (gnu/linux) X-Spam-Score: 0.496 () MAILTO_TO_SPAM_ADDR X-Scanned-By: MIMEDefang at CNRS-LAAS X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:5247 Archived-At: Hi, Kevin Ryde writes: > I have doubts. Can you give more examples of when it might be used? > Elisp syntax is probably not a good example, since elisp code wouldn't > start with "define-module". There are really two questions in your message. One is "do we really need syntax configuration beyond #,() and the likes?". The second one is "why would we write Guile modules that use a potentially significantly different syntax?" The per-module mechanisms is addressing the latter. My answer to the former is "yes" and `guile-reader' is trying to address this. The point is the following: one may wish to write a Guile module using her own syntax variant (no matter which one), yet want it to be well integrated into Guile's module hierarchy, correctly read, and not have unexpected side effects on the user's code. IMO, per-module readers are a way to fix the current scheme were there's only one instance of `read' and any module can happily modify it via `read-enable' and the likes. Ultimately, I'd be very glad if `read-enable', for instance, could translate into something like (%read-enable (module-reader (current-module)) something) In the end, `define-module' could almost be thought of as the Guile equivalent to the `#!' sequence found at the beginning of Unix scripts. As for syntax variants, my main interest currently is the syntax of Skribe[1] which borrows from Scheme, DSSSL, and also has special forms using square brackets. But again, that is a question relevant to `guile-reader' more than to the per-module reader mechanism. Thanks, Ludovic. [1] http://www-sop.inria.fr/mimosa/fp/Skribe/ _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://lists.gnu.org/mailman/listinfo/guile-devel