This is the mail archive of the guile@cygnus.com mailing list for the Guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Reintroducing old `defined?' (was Re: Testing availabilty of a procedure)


On 4 May 1999, Marius Vollmer wrote:
> I would prefer to stick to `module-defined?' and require people to be
> explicit about module issues.

Modules are great and one of the really great things about guile's 
module system is that you can still write code which is completely
scheme and is not at all aware about the module system. For a great
part of my guile code I do just that (even though I make heavily
use of e.g. uniform arrays).

When modules have been defined in the R?RS standard then I completely
agree with you here, but my opinion is that code which is not module
aware should not need to use module specific primitives.

My request earlier about defined? as procedure or special form merely
relates to the scheme standard than to guile. I find defined? to be
just that kind of essential meta-primitive which is important to
deal with different scheme implementations and also between different
versions or special versions of the same scheme implementation.

Therefore, as long as defined? is not a standard, (but still required
like eval was for long until it was finally defined in R5RS) the
most logical way of defining it is as some kind of ad hoc maximum
making it into a de facto standard. Then the scheme implementations
that we want to use has to be changed according to this standard
locally.

Alternatively (better) go for the way that we want the standard to
be (and fight for it).

For guile-specific code it does not matter that much, there we can
always choose what we find the most convenient or logical or most
related to what we are heading at, like `module-define?'.

	Best regards
	Roland


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]