This site is a static rendering of the Trac instance that was used by R7RS-WG1 for its work on R7RS-small (PDF), which was ratified in 2013. For more information, see Home.
    
    Source for wiki MaxInfNan version 2
    author
    cowan
    comment
    
    ipnr
    98.14.173.81
    name
    MaxInfNan
    readonly
    0
    text
    R6RS requires that `(max +inf.0 x)` for any real x return `+inf.0`; it is silent about `(max x +inf.0)`, but I'd think that was entailed.  I tested `(max +inf.0 +nan.0)` against the test suite.
Racket, Gauche, MIT, Chicken (with and without the numbers egg), Scheme48, Guile, Ypsilon, Mosh, !IronScheme, STklos, Elk, VX return `+inf.0`.
Gambit, Bigloo, Kawa, SISC, Chibi, Chez, Vicare, Larceny, NexJ, UMB, Spark, Femtolisp return `+nan.0`.  
My other Schemes throw errors, either because they don't like inexact numbers, they don't like division by 0.0, or they produce cockeyed values of `(/ 1.0 0.0)` and/or `(/ 0.0 0.0)`.
Note that the six R6RS implementations are split 3-3 (or 4-3 if Guile, which does not fully implement R6RS, is included), and that all the Java ones prefer `+nan.0`, as Java does.
    time
    2012-06-21 00:04:43
    version
    2