Hi,

I have a text file containing just "line1" and "line2",
and I want to print it to stdout recursively using the following source:

(defun print-stream (in)
        (let ((line (read-line in nil)))
                (when line
                        (write-line line)
                        (print-stream in))))
                       
(defun print-file-to-stdout (filename)
        (with-open-file (in filename)
                (print-stream in)))

Now, here is what happens when I call the ROOM function:

=== Snip ===

This is SBCL 1.0.22, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.

SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses.  See the CREDITS and COPYING files in the
distribution for more information.

This is experimental prerelease support for the Windows platform: use
at your own risk.  "Your Kitten of Death awaits!"
* (load "print-file")

T
* (room)

Dynamic space usage is:   25,852,552 bytes.
Read-only space usage is:      2,968 bytes.
Static space usage is:         1,640 bytes.
Control stack usage is:        1,816 bytes.
Binding stack usage is:          336 bytes.
Garbage collection is currently enabled.

Breakdown for dynamic space:
   9,106,856 bytes for    11,430 code objects.
   4,756,608 bytes for   594,576 cons objects.
   3,393,304 bytes for    77,815 instance objects.
   3,078,464 bytes for    55,024 simple-vector objects.
   5,537,648 bytes for   139,571 other objects.
  25,872,880 bytes for   878,416 dynamic objects (space total.)
* (print-file-to-stdout "in.txt")
Line1
Line2
NIL
* (room)

Dynamic space usage is:   25,600,336 bytes.
Read-only space usage is:      2,968 bytes.
Static space usage is:         1,640 bytes.
Control stack usage is:        1,816 bytes.
Binding stack usage is:          336 bytes.
Garbage collection is currently enabled.

Breakdown for dynamic space:
  14,093,696 bytes for 1,732,897 bignum objects.
   9,106,856 bytes for    11,430 code objects.
   4,764,160 bytes for   595,520 cons objects.
   3,473,376 bytes for    87,233 instance objects.
   3,043,344 bytes for    54,160 simple-vector objects.
   5,675,304 bytes for   178,828 other objects.
  40,156,736 bytes for 2,660,068 dynamic objects (space total.)
*

=== Snap ===

What puzzles me:

There are so many bignum objects.
The space for dynamic objects has increased.

Any explanations?
Thanks a lot.
Hubert