I'm putting these questions for discussion and vote by R7RS-large WG members, which at the moment means "anyone who wants to discuss and vote". Votes go to <[email protected]>; if you aren't on this list, please join up (but you can send me your official vote for relay if you want to).
Please note that not voting has no effect! A majority of the legal votes cast, yes or no, will decide each question. Abstaining is not equivalent to voting either yes or no, so if one person votes "yes" and no one votes "no", the proposal passes. R7RS-small puts few limitations on how much of Scheme's numeric tower an implementation must provide, and therefore there is very little that a strictly conforming program can't rely on. For R7RS-large, which (per its charter) "is large enough to address the practical needs of mainstream software development, and can be extended and integrated with other systems." Only exact integers are required, and even there the implementation doesn't have to provide them outside the range 0-29, so that the characters of the string "call-with-current-continuation" can be indexed. Obviously, no implementation is so restrictive. So I'm going to take it as written (unless someone raises a serious objection) that R7RS-large will require at least 24-bit signed exact integers (that being what R6RS required for fixnum support) and IEEE 64-bit binary floats as inexact numbers. The only modern languages that support less than this on reasonable hardware are those which only support inexact numbers, like JavaScript and some Basics. 1) Should R7RS-large require arbitrarily large (up to implementation restrictions like memory) exact integers? 2) Should R7RS-large require support for exact rational numbers? (This is independent of #1: Wraith Scheme provides ratios of fixnums but not bignums). 3) Should R7RS-large require support for exact complex numbers? 4) Should R7RS-large require inexact complex numbers, to consist of pairs of 64-bit IEEE binary floats? I'm setting the end of the ballot period for the end of 2014-05-05, which by our usual conventions means noon on 2014-05-06, Universal Time. If there's a lot of controversy, this period may be extended. References: See <http://trac.sacrideo.us/wg/wiki/NumericTower> for which Schemes provide what parts of the tower. See <http://trac.sacrideo.us/wg/wiki/FixnumInfo> for the fixnum sizes of various 32-bit and 64-bit Schemes. See <http://trac.sacrideo.us/wg/wiki/ComplexRepresentations> for which Schemes provide what kinds of complex numbers. See <http://trac.sacrideo.us/wg/wiki/FloatPrecision> for which Schemes and Common Lisp implementations provide what kinds of inexact rationals. -- John Cowan http://www.ccil.org/~cowan [email protected] "Not to know The Smiths is not to know K.X.U." --K.X.U. _______________________________________________ Scheme-reports mailing list [email protected] http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports
