Newsgroups: comp.lang.lisp
Path: cantaloupe.srv.cs.cmu.edu!das-news.harvard.edu!news2.near.net!MathWorks.Com!europa.eng.gtefsd.com!howland.reston.ans.net!EU.net!uknet!festival!edcogsci!jeff
From: jeff@aiai.ed.ac.uk (Jeff Dalton)
Subject: Re: AKCL: declare makes it worse??
Message-ID: <CwFMsw.FzA@cogsci.ed.ac.uk>
Sender: usenet@cogsci.ed.ac.uk (C News Software)
Nntp-Posting-Host: bute.aiai.ed.ac.uk
Organization: AIAI, University of Edinburgh, Scotland
References: <Cw4s0M.32C@cogsci.ed.ac.uk> <uLDosc2w165w@sytex.com> <35aspq$13kj@plucky.cs.utexas.edu>
Date: Tue, 20 Sep 1994 14:26:56 GMT
Lines: 24

In article <35aspq$13kj@plucky.cs.utexas.edu> gadbois@cs.utexas.edu (David Gadbois) writes:
>Scott McLoughlin <smcl@sytex.com> wrote:
>>Boxed fixnums. Is this typical? Why?
>
>I think the term "boxing" generally means taking a raw bits
>representation of an object and creating something that can be
>identified later.  This definition subsumes both pointer-tagging and
>(tagged) heap allocation.  So as to avoid this semantic quibble I'll
>refer to what you mean here as "heap-consing."
>
>Most implementations that I can think of use some pointer tagging or
>BiBoP scheme.  But not all of them.  Reasons to heap-cons fixnums:

Of course, BiBoP and tagged pointers can also involve heap allocation
of fixnums.  This is more likely with BiBop.  For instance, Franz
Lisp, which used BiBoP, normally allocated fixnums on the heap
although you could get it to do some things more directly with
appropriate declarations or fixnum-specific functions.  (MacLisp 
was presumably similar.)

A typical trick is to have a small number of preallocated fixnums
(say - 1 K to 1 K) which will handle a range of common cases.

-- jeff
