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

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

On Mon, Jan 02, 2012 at 07:56:13AM -0800, Per Bothner wrote:
> On 01/02/2012 01:52 AM, Jeronimo Pellegrini wrote:
> >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.
> As long as the feature list is allowed to be a subset
> of all features, mainly to be used for logging.
> Kawa allows class-exists:ClassName as a feature, which
> is true if the class ClassName is available (in the classpath)
> at macro-expansion time.  Obviously a complete list of
> features of this form would be expensive to compute.

I see; but I had not thought of this as obligaroty. 
Something like, "if there is a feature list, then it
should be available as a list in the variable
*features*", or something similar would perhaps be 
interesting (although this is not such an immportant
thing IMHO).
And of course, I was thinking about short feature
lists (in the spirit of Appendix B -- "is it POSIX?
Windows? Plan9? Big or little endian?", and so on)


Scheme-reports mailing list