| Date: Thu, 24 Sep 2009 19:54:08 -0700
 | From: Brian Harvey <[email protected]>
 | 
 | > Get (or configure) a small Scheme that's -%bignums -%inexact.
 | 
 | I submit that this whole configurable options thing doesn't look
 | very Schemely.  I would rather say
 |      (set-auto-promote-bignum! #f)
 | or
 |      (set-fixnum-oflo-hook (lambda (value) ...))
 | if I really have to change the behavior of my Scheme system.  And
 | if I want to know how it's going to behave, I'd rather say
 |      (bignums?)
 | or
 |      (auto-promote-bignum?)
 | than anything involving percent signs.
 | 
 | If you want a uniform interface for this sort of thing, it should be
 |      (feature-present? 'bignums)
 | or
 |      (set-behavior! 'auto-promote-bignum #f)

SLIB `provided?' allows one to inquire the properties of a session:

  (provided? 'inexact)
  (provided? 'rational)
  (provided? 'real)
  (provided? 'complex)
  (provided? 'bignum)

Furthermore, SLIB has a declarative facility for features:

  (require 'inexact)
  (require 'rational)
  (require 'real)
  (require 'complex)
  (require 'bignum)

 | I gather that the point of the % business is that you want to make
 | these decisions at compile time.  But I submit that in the WG1-Edu
 | model, at least, there's no such thing as "compile time."  Just the
 | beautiful yin-yang mutual recursion of eval and apply. :-)

If REQUIRE statements precede all other expressions in a module, then
a single pass reader can behave as though the REQUIRE statements were
processed in a pre-pass.

_______________________________________________
r6rs-discuss mailing list
[email protected]
http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss

Reply via email to