[racket] fixnum on a 64 bit processor

From: Jos Koot (jos.koot at telefonica.net)
Date: Fri Jul 8 10:15:26 EDT 2011

Because my computer had a hard disk break down (or a controller breakdown, I
hope) and reparation may last a month, I bought a dual 64 bit processor
portable. At least the properties of the computer icon tell me so. However:
 
#lang racket
(let loop ((k 1))
  (if (fixnum? k) (loop (* 2 k))
      (string-length (number->string k 2)))) -> 31
 
Documentation shows:
 
Quote
A fixnum is a small exact integer. In this case, "small"depends on the
platform. For a 32-bit machine, numbers that can be expressed in 30 bits
plus a sign bit are represented as fixnums. On a 64-bit machine, 62 bits
plus a sign bit are available.
Unquote
 
Can anyone shed some light on this. I am sure I am doing something wrong or
I may interprete things wrongly. But what? I can imagine that Windows 7 is
simulating a 64 bits machine on 32 bits hardware and Racket sees through it.
I run a Samsung R540 with windows 7. My 64 bit Bullguard is running fine on
my machine.
 
Thanks, Jos
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20110708/ea9f5f0f/attachment.html>

Posted on the users mailing list.