From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Neil Jerram Newsgroups: gmane.lisp.guile.devel Subject: Re: [PATCH] Per-module reader, take #2 Date: Wed, 19 Oct 2005 23:23:58 +0100 Message-ID: <87sluxb0xt.fsf@ossau.uklinux.net> References: <87u0gp9lm3.fsf@laas.fr> <877jd3lkdq.fsf@ossau.uklinux.net> <87hdc62a6c.fsf@laas.fr> <87irw49twc.fsf@laas.fr> <87irw3prgp.fsf@ossau.uklinux.net> <8764rw7b9q.fsf_-_@laas.fr> <871x2j98qb.fsf@ossau.uklinux.net> <87u0ffnudk.fsf@laas.fr> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: sea.gmane.org 1129760738 28158 80.91.229.2 (19 Oct 2005 22:25:38 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Wed, 19 Oct 2005 22:25:38 +0000 (UTC) Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Thu Oct 20 00:25:33 2005 Return-path: Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1ESMM2-0002Z5-8b for guile-devel@m.gmane.org; Thu, 20 Oct 2005 00:24:14 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1ESMM1-0000v1-MX for guile-devel@m.gmane.org; Wed, 19 Oct 2005 18:24:13 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1ESMLy-0000tR-7r for guile-devel@gnu.org; Wed, 19 Oct 2005 18:24:10 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1ESMLw-0000tF-Ia for guile-devel@gnu.org; Wed, 19 Oct 2005 18:24:10 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1ESMLw-0000tC-G1 for guile-devel@gnu.org; Wed, 19 Oct 2005 18:24:08 -0400 Original-Received: from [80.84.72.33] (helo=mail3.uklinux.net) by monty-python.gnu.org with esmtp (Exim 4.34) id 1ESMLw-00011U-Cd for guile-devel@gnu.org; Wed, 19 Oct 2005 18:24:08 -0400 Original-Received: from laruns (host81-139-117-151.in-addr.btopenworld.com [81.139.117.151]) by mail3.uklinux.net (Postfix) with ESMTP id 3E264409FA7 for ; Wed, 19 Oct 2005 22:24:04 +0000 (UTC) Original-Received: from laruns (laruns [127.0.0.1]) by laruns (Postfix) with ESMTP id D84B76F6CE for ; Wed, 19 Oct 2005 23:23:58 +0100 (BST) Original-To: guile-devel@gnu.org In-Reply-To: <87u0ffnudk.fsf@laas.fr> ( =?iso-8859-1?q?Ludovic_Court=E8s's_message_of?= "Tue, 18 Oct 2005 09:42:47 +0200") User-Agent: Gnus/5.1007 (Gnus v5.10.7) Emacs/21.4 (gnu/linux) 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:5317 Archived-At: ludovic.courtes@laas.fr (Ludovic Court=E8s) writes: > Neil Jerram writes: > >> Thanks for taking my considerations into account and producing this >> update. My gut feel is that I do like this new patch better, but I'd >> like to think about it more. I also need to go back and finish my >> draft reply to your previous email - I'll try to do that in the next >> day or so. > > Ok. > >> Also, do you have docs for guile-reader up somewhere? > > Yes. The doc for 0.1 is there: > > http://www.laas.fr/~lcourtes/software/guile/guile-reader.html Thanks, very interesting. I have some queries about your API, but I'll leave those for another time. I've finally reached a clear view on what I think about your reader patch. I completely agree with your arguments as regards what is problematic about the current system of read-hash-extend and read options, and I think it's great that you are using guile-reader to try to solve that. (And the GNU Lightning aspect, which I don't understand yet, sounds very cool.) I don't think it should be connected with modules, though. In my view: - modules should be about identifier access and visibility (including issues such as possible separate compilation in future), and nothing else (and yes, this does imply that #:use-syntax was a mistake) - the appropriate unit of scope for your custom readers should be the file, not the module; for two reasons in particular: - the file makes sense as a unit within which the coder would want custom reading rules - associating a reader with a file instead of with a module means that your whole enhancement will work for code that is not organized into a module, as well as for that which is! What do you think? If you agree, I think the implication is that two APIs (which can probably be straightforward procedures) would be useful: 1. A way to say "change the reader to XXX for the rest of this file". 2. A way to say "load FILE using reader XXX". Regards, Neil _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://lists.gnu.org/mailman/listinfo/guile-devel