Changeset 26230 in project


Ignore:
Timestamp:
03/20/12 22:29:49 (9 years ago)
Author:
sjamaan
Message:

Update numbers docs to indicate that extended numerical syntax is sort-of supported in compiled code now

File:
1 edited

Legend:

Unmodified
Added
Removed
  • wiki/eggref/4/numbers

    r25913 r26230  
    120120</enscript>
    121121
     122== Compiled code
     123
     124Starting with version 2.8, extended number literals can be used in compiled code.  To make this work, compile your code with:
     125
     126  csc -X numbers-syntax foo.scm
     127
     128'''IMPORTANT''': This only works when the code will be run on exactly the same platform as the Scheme compiler ran on.  Cross-compilation and compiling to C and compiling that on the target platform is ''not supported''. (You will get an error message when you try to do it anyway)
     129
    122130== Bugs and limitations
    123131
    124 * Extended number literals can not be used directly in compiled code.  Use {{string->number}} instead.
     132* Extended number literals can not be used portably in compiled code (use {{string->number}} for maximum portability).
     133* For best results, use Chicken 4.7.4 or later.  Extended numbers syntax isn't reliably supported by the reader of earlier Chicken versions (here as well, use {{string->number}} for maximum portability).
    125134
    126135== About this egg
     
    138147=== Version history
    139148
    140 ; trunk: Correct handling of exactness prefix (requires recent Chicken to work, at least 4.7.4). Division by inexact zero is no longer considered an error, but returns NaN or +Inf/-Inf.  {{inexact->exact}} raises an error on NaN instead of returning 0 (reported by Felix Winkelmann).  Fix {{log}} so it doesn't erroneously fail on complex numbers.
     149; trunk: Correct handling of exactness prefix (requires recent Chicken to work, at least 4.7.4). Division by inexact zero is no longer considered an error, but returns NaN or +Inf/-Inf.  {{inexact->exact}} raises an error on NaN instead of returning 0 (reported by Felix Winkelmann).  Fix {{log}} so it doesn't erroneously fail on complex numbers.  Add types database for scrutinizer (Only in Chicken 4.7.4 and later).
    141150; 2.7: Fix several bugs ({{expt}}, {{integer?}}, {{rational?}}, {{<=}}, {{>=}}, {{eqv?}}, {{-}}) found by importing the number tests from Gauche and writing an extensive test for number syntax edge cases. Complete rewrite of number parser (it should fully conform to the R7RS superset of R5RS number syntax now).  Dropped dependency on the regex egg.  Improved precision of {{exact->inexact}} so it can handle more extreme numbers. Provide the {{nan?}}, {{finite?}} and {{infinite?}} predicates and {{integer-length}} procedure.
    142151; 2.6.1: Fix {{string->number}} so it raises an exception instead of crashing when passed a negative, zero or too large base (reported by Peter Hendrickson).  Update test scripts so they exit with nonzero status in case of failed tests (reported by Mario Goulart)
Note: See TracChangeset for help on using the changeset viewer.