[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Scheme-reports] Checking implementation features and Scheme name?

 | Date: Mon, 2 Jan 2012 07:52:11 -0200
 | From: Jeronimo Pellegrini <j_p@x>
 | These comments are not too important, but I thought
 | I'd share anyway.
 | Reading the latest draft I realized that there is no 
 | standard way to obtain a list of all features (those
 | used by cond-expand) declared/supported by an 
 | implementation. Chibi, Guile and Tinyscheme do keep
 | a list in the *features* variable, but it doesn't seem
 | to be standard. It would make sense in some situations
 | to check/log/report features, maybe not knowing a
 | complete list of possible features beforehand.
 | Also, I think that there is no R7RS-standard way to 
 | obtain the name of the Scheme implementation if
 | I don't already know a list of all implementations
 | (suppose I have written  benchmark or test of some 
 | kind; it wouldn't be able to write a log with the 
 | implementation's name). 

SLIB provides functions for reporting just such information.

 -- Function: slib:report-version
     Displays the versions of SLIB and the underlying Scheme
     implementation and the name of the operating system.  An
     unspecified value is returned.

          (slib:report-version) => slib "3b3" on scm "5b1" on unix

 -- Function: slib:report
     Displays the information of `(slib:report-version)' followed by
     almost all the information neccessary for submitting a problem
     report.  An unspecified value is returned.

 | I suppose these issues do not bother most people --
 | am I wrong?

SLIB requires each implementation to define
(scheme-implementation-type) to return a symbol naming the

Scheme-reports mailing list