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

Re: [Scheme-reports] Standard Feature Identifiers are too low-level

Marc Feeley scripsit:

> My issue with these feature identifiers is that their semantics is
> vague.  Are they a feature of the compile-time Scheme system, or
> run-time Scheme system, or something else?  What can I infer from
> the "windows" feature?  Is this windows 3.0 or 95 or ...? The only
> practical use I can see is to determine the filename syntax, but there
> are better ways to determine this or to isolate from the difference.
> Also, endianness is not a pure dichotomy (some systems store code one
> way and data another, some are middle-endian, etc).

The PDP-11 has been dead for at least 15 years.

> Are the CPU architectures well defined?  What is the set of features
> of i386?  Aren't there differences in sub-variants of i386?  So as a
> programmer, what are the guarantees I have if the feature i386 is on?
> Can you present a use-case for these feature identifiers?

Not for strictly conforming R7RS-small programs, no.  As I have said,
the need arises when talking to lower-level software, and the point of
enumerating them in the standard is to avoid silly incompatibilities:
"I say 'darwin', you say 'macosx', let's call the whole thing off!"
Wherever possible they are drawn from existing de facto standards.

However, I have filed ticket #323 to reduce the set of standard

> I agree, but a more general get-features procedure would be
> interesting (i.e. one that allows more complex queries than checking
> features identifiers).  Compare (memq 'cpu64 (get-features)) with (>
> (get-word-width) 32).

As chair, I would welcome such an API proposal for R7RS-large.

John Cowan  <cowan@x>  http://ccil.org/~cowan
Micropayment advocates mistakenly believe that efficient allocation of
resources is the purpose of markets.  Efficiency is a byproduct of market
systems, not their goal.  The reasons markets work are not because users
have embraced efficiency but because markets are the best place to allow
users to maximize their preferences, and very often their preferences are
not for conservation of cheap resources.  --Clay Shirkey

Scheme-reports mailing list