[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Issue: REQUIRE-PATHNAME-DEFAULTS (Version 5)
- To: Jon L White <firstname.lastname@example.org>
- Subject: Re: Issue: REQUIRE-PATHNAME-DEFAULTS (Version 5)
- From: Gregor.pa@Xerox.COM
- Date: Sun, 11 Dec 88 10:45 PST
- Cc: masinter.pa@Xerox.COM, email@example.com, Gray@DSG.csc.ti.com, firstname.lastname@example.org
- Fcc: BD:>Gregor>mail>outgoing-mail-4.text.newest
- In-reply-to: <8812100131.AA07286@bhopal>
- Line-fold: no
Date: Fri, 9 Dec 88 17:31:12 PST
From: Jon L White <email@example.com>
Larry, I would very much like to see a second alternative in this
proposal. I think the idea of a "safety-net" version of REQUIRE is
fully portable, and backwards compatible with those implementations
that hook into their own "defsystem". All the arguments against it,
that have been sent out in discussion so far, are simply confusing the
issue of REQUIRE portability with that of DEFSYSTEM portability. If
someone uses implementation A's DEFSYSTEM, his code won't be portable
to implementation B (unless B has cloned A's DEFSYSTEM). There is just
no reason to indict REQUIRE of cuplability here.
My "compromise" proposal, that Gray seemed to agree to, was to insist
that implementations which "hook" their REQUIRE into some kind of
DEFSYSTEM -- as an implementation- specific extension -- must also
provide a special variable flag that disengages any such "hook-up".
While it is true that many people will persist in writing non-portable
code, the portable use of REQUIRE to ensure that required package
definitions are "already loaded in" is of paramount importance. There is
no other portable feature to help ensure that.
I don't buy this. You can do it portably with find-package and intern.
You might claim that is gross, but I don't believe it. The point is
that REQUIRE "suggests" more than it can possibly do. It need to know
that the sub-system I depend on really is completely loaded, up and
running. Any program that is "portably" going to require the existence
of other programs takes work, it takes some sort of defsystem facility.
REQUIRE can't possibly provide that, all it can do is confuse people
into thinking that they might be getting it.
If you and Dan are amenable, I'd write the additional part -- from
previous mails, it should only take 10 or 20 minutes at most. Either
of you could probably write it too.
-- JonL --