From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Julian Graham Newsgroups: gmane.lisp.guile.devel Subject: Re: r6rs libraries Date: Wed, 4 Mar 2009 17:51:16 -0500 Message-ID: <2bc5f8210903041451o70f4671cscd7d37bab33d0f31@mail.gmail.com> References: <2bc5f8210812271705h3f57cb29w5bb83cb02abe971@mail.gmail.com> <2bc5f8210901111521i1a5ec85em65ee20135cc55ebb@mail.gmail.com> <877i4z89jy.fsf@gnu.org> <2bc5f8210901251627t5d59f9fg5bc5dcceaf2a0b9f@mail.gmail.com> <2bc5f8210901280926o399f4505nc1d30c6017886a81@mail.gmail.com> <2bc5f8210902161035p1f2e9125p58c2ad6c4def28fb@mail.gmail.com> <2bc5f8210903032123q28fbc802jed51b68445b162d6@mail.gmail.com> <87vdqp1y21.fsf@gnu.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1236207100 16122 80.91.229.12 (4 Mar 2009 22:51:40 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 4 Mar 2009 22:51:40 +0000 (UTC) Cc: guile-devel@gnu.org To: =?ISO-8859-1?Q?Ludovic_Court=E8s?= Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Wed Mar 04 23:52:57 2009 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1LezxK-0001JV-20 for guile-devel@m.gmane.org; Wed, 04 Mar 2009 23:52:51 +0100 Original-Received: from localhost ([127.0.0.1]:35789 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Lezvy-0005v6-BC for guile-devel@m.gmane.org; Wed, 04 Mar 2009 17:51:26 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Lezvr-0005uG-E0 for guile-devel@gnu.org; Wed, 04 Mar 2009 17:51:19 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Lezvr-0005tz-3H for guile-devel@gnu.org; Wed, 04 Mar 2009 17:51:19 -0500 Original-Received: from [199.232.76.173] (port=45906 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Lezvq-0005tt-S8 for guile-devel@gnu.org; Wed, 04 Mar 2009 17:51:18 -0500 Original-Received: from yw-out-1718.google.com ([74.125.46.154]:44783) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Lezvp-0001xC-Di; Wed, 04 Mar 2009 17:51:17 -0500 Original-Received: by yw-out-1718.google.com with SMTP id 6so2136335ywa.66 for ; Wed, 04 Mar 2009 14:51:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=jKAG6sd83WnwfG9AbytaDhgmnU3M+53vftmF7uBzGac=; b=oy1DEYmILvROuaYtquJyPS/fbG8aYcWBtMwt+YQcupcxagLo+wFyGIrsooFJRUJs/x eMOm7VquzJl78EQldChi3T9JnTFJ+GssKMrRwOnFER63O50qdltLH5cOVf7OqJTXPeVg tB3ZabA/d7S1VzWDsJp33cdUNeMznftsecFEA= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=Nmnc7thi5kR9JkoSTw0YadDLt+tiH0nX5+tBwR+ylt8qp55LmWgJ4ZCSxz1vZ+AKWP yiKEOXAsPkQUkIQYpS+e9I7r14EqjkK92H/3PNbBqrciB+mzTeit+pC1u7aJQyAWydIq Lrd2OXPWniMbxQrWBiOcLril6aNdyxQGwNKTE= Original-Received: by 10.100.119.17 with SMTP id r17mr362384anc.130.1236207076330; Wed, 04 Mar 2009 14:51:16 -0800 (PST) In-Reply-To: <87vdqp1y21.fsf@gnu.org> X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 2) 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:8221 Archived-At: Hi Ludovic, > But dot files are traditionally "hidden" on Unices. =A0Why not go with > `foo/bar/6/baz.scm'? Because my initial plan was to make it possible to have R6RS libraries coexist with Guile modules, using the same directory layout and load system -- and, as per our earlier discussion, numbers can't be part of module names. > The `r6rs-libraries' part of the module name is just a matter of load > path. =A0The important thing here is that both `import' and `use-modules' > do the right thing. =A0Then I would not force R6RS module writers to stor= e > them under `ice-9/r6rs-libraries' as this is inconvenient and doesn't > provide any advantage (AFAICS). Well, it depends on what we plan to support. Here's what I've got implemented so far: `import' (and the `import' specification in the header of a library expression) can locate Guile modules by delegating to Guile's module system. If this fails, the system will attempt to fulfill the import requirement by loading library expressions from disk as per the directory layout I described earlier. What's not clear to me is: * Should `use-modules' be able to locate and load (and evaluate) R6RS library expressions? If so, where should these modules be stores and how should they be named -- specifically with regard to version specifiers? * If both `use-modules' and `import' can load the same R6RS library, the one of them will need to be extended to understand the syntax of the other -- i.e., `use-modules' would need to be able to understand the `library' form or `import' would need to be able to strip off any "module wrapper" we'd add to a library to make it loadable via `use-modules'. Regards, Julian