This is the mail archive of the 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: Testing availabilty of a procedure

I think it is time to consider a redefinition of "defined?" to
make it a special form.

*  defined? is still not standardized within the scheme standard
   (thanks Bertrand!) which is a pity as it is an essential procedure
   for everyone who tries to write code which is compatible between
   different interpreters and versions of interpreters.

*  In the current guile definition defined? is a procedure which
   evaluates its arguments. This is rather counterintuitive when
   both "define" and "undefine" are special forms. Ok "undefine" is
   not yet standardized either, but should be considered being
   standardized in the scheme standard as well, as non essential.
   Long running applications and shells etc need to be able to clean up.

*  For my own modules I have defined defined? to be a special form
   to make it compatible with scm and when considering the
   following answer on a request from 
   Ingo Hohmann <>

   Lalo Martins <> wrote:
   > (if (and (defined? a) (procedure? a))
   >   #t
   >   (define (a) #t)
   > )

  It seems as there are more than I who prefer/expect defined? to be
  a special form...

*  I guess that there are more people out there who prefer defined?
   to be a special form. Any objections?

	Best regards
	Roland Orre