Lisp HUG Maillist Archive

RE: How to make own modules ?

RE: How to make own modules ?

CMUCL can load library (i.e. CLX, HEMLOCK) modules via require
if they are not dumped with the image.
I have never tried to write a module for CMUCL this way since
i'm working with MK:DEFSYSTEM on Linux. But i assume that it is
needed to (provide 'foo) when the module is loaded.
I don't know what a module name clash is. Can anyone explain, please ?

Regards
AHz

>-----Original Message-----
>From: David Fox [mailto:davef@xanalys.com]
>Sent: Friday, October 10, 2003 3:49 PM
>To: AHZ@smi.de
>Cc: lisp-hug@xanalys.com
>Subject: Re: How to make own modules ?
>
>
>
>   can anyone give me a hint how to have my own modules
>   with LWW ?
>   I want to be able to (require 'foo) for some modules
>   in a way similar to CMUCL where (require 'foo) tries to find
>   the module in a predefined directory.
>   I know about mk:defsystem and ASDF but i assume that it
>   is still possible with native LWW.
>
>LispWorks does not support this. Why not do:
>
>(require 'foo "/predefined/directory/foo")
>
>?
>
>
>Does CMUCL have system-defined modules? How does CMUCL deal with
>module name clashes? Do you expect to explicitly call PROVIDE in your
>loaded module, or does CMUCL's REQUIRE do that for you?
>
>Dave Fox
>Xanalys
>Compass House
>Vision Park
>Chivers Way
>Histon
>Cambridge
>CB4 9AD
>England
>
>These opinions are not necessarily those of Xanalys.
>

RE: How to make own modules ?

* Andreas Hinze wrote:
> I don't know what a module name clash is. Can anyone explain, please ?

I presume the problem is that if you've called your module FOO and
someone else has too, what should happen.  The answer is don't do that
then, use domain-structured module names: no one is going to call
their module COM.CLEY.WELD but us.

--tim


Re: How to make own modules ?

Unable to parse email body. Email id is 1396

Re: How to make own modules ?

* David Fox wrote:

> The implementor cannot assume that all users will choose
> domain-structured module names. I suppose we could protect system
> module names from (module) definition in a similar way to how symbols
> of the COMMON-LISP package are protected. 

Yes, PROVIDE could do that, couldn't it? (but it needs to know every
system module name, I guess).  I'd prefer a modification which just
killed anyone not using a domain-structured name, but that might be
bad commercially.

--tim




Updated at: 2020-12-10 08:59 UTC