From ... From: Erik Naggum Subject: Re: BIGNUM operators in ACL 4.3 Date: 1997/02/08 Message-ID: <3064356007804370@naggum.no>#1/1 X-Deja-AN: 215214089 distribution: inet references: mail-copies-to: never organization: Naggum Software; +47 2295 0313; http://www.naggum.no newsgroups: comp.lang.lisp.franz,comp.lang.lisp,comp.lang.lisp.mcl * Winton Davies | I am writing code in Mac Common Lisp, that uses BIGNUM's a lot (for | representing sets). I use EXPT a lot, and when I just copied my code to | Allegro 4.3 on our Ultra-2 to get some more power and memory, was | immediately faced with the fact that ACL cannot handle (EXPT 2 (EXPT 2 | 32)). It seems a shame my little laptop is more capable than this | behemoth Sun on my desk :-) (you would have received a better answer by mailing bugs@franz.com.) the answer to your question is also right there in the User Guide, Chapter 3 Implementation and Extensions, Section 3.2 Data Types, page 3-7. I quote: Bignums may be as large as 2**[1,048,576] the reference for Common Lisp is now ANSI X3.226:1994 Programming Languages -- Common Lisp. the definition of the system class _integer_ goes as follows: An integer is a mathematical integer. There is no limit on the magnitude of an integer. this definition makes an interesting implementation challenge, to put it mildly. it is, in fact, not possible to implement Common Lisp integers _without_ an arbitrary limit. however, `expt' is not specified to take just a fixnum for exponent. if you need more than 1 megabit integers, Franz, Inc, will most probably accomodate you. let them know and work with them. now, if you don't actually _need_ 4 gigabit integers, I think it's a bit silly to argue about it, but in terms of strict adherence, you've pointed to something that might be worth persuing, namely the error you got. talk with Franz. I have not found a more helpful group of people in my 15-year career as a programmer. (I don't have any ties to Franz, Inc, other than being a very happy customer.) #\Erik -- my other car is a cdr