diff --git a/collects/scribblings/reference/numbers.scrbl b/collects/scribblings/reference/numbers.scrbl index fda5625b5a..9988202a4d 100644 --- a/collects/scribblings/reference/numbers.scrbl +++ b/collects/scribblings/reference/numbers.scrbl @@ -149,7 +149,10 @@ Returns @racket[(and (real? v) (inexact? v))].} @defproc[(fixnum? [v any/c]) boolean?]{ Return @racket[#t] if @racket[v] is a @techlink{fixnum}, @racket[#f] -otherwise.} +otherwise. + +Note: the result of this function is platform-dependent, so using it in +syntax transformers can lead to platform-dependent bytecode files.} @defproc[(flonum? [v any/c]) boolean?]{ diff --git a/collects/typed-scheme/typecheck/tc-expr-unit.rkt b/collects/typed-scheme/typecheck/tc-expr-unit.rkt index 6932cf09f6..b5153d399e 100644 --- a/collects/typed-scheme/typecheck/tc-expr-unit.rkt +++ b/collects/typed-scheme/typecheck/tc-expr-unit.rkt @@ -21,9 +21,10 @@ (import tc-if^ tc-lambda^ tc-app^ tc-let^ check-subforms^) (export tc-expr^) -;; Is the number a fixnum on all the platforms Racket supports? -;; This relies on Racket being compiled only on 32+ bit systems. -;; This check is done at compile time to typecheck literals. +;; Is the number a fixnum on *all* the platforms Racket supports? This +;; works because Racket compiles only on 32+ bit systems. This check is +;; done at compile time to typecheck literals -- so use it instead of +;; `fixnum?' to avoid creating platform-dependent .zo files. (define (portable-fixnum? n) (and (exact-integer? n) (< n (expt 2 31))