Recursive Memory Allocation


Reprinted from Songworm 3
This parody was sung by Frank Hayes on Tapeworm 2

Parody of “The Rattlin' Bog”, words and music traditional

For more information and other parodies, see www.songworm.com
Parody lyrics ©2/7/89 by Bob Kanefsky. All rights reserved. The copyright of the original lyrics and music remain with the holder(s) of the original copyright.

(defun chorus ()
(format t "
I/O, the mem'ry bank, the bank in the computer-o!
I/O, the mem'ry bank, the bank in the computer-o!
"))

(defun song ()
(chorus)
(format t "
Now, ")
(recursive-verses
'("bank" "computer-o!")
'("slot" "board" "page" "chip" "word" "byte" "bit")))

(defun recursive-verses (bigger smaller)
   (let ((big (first bigger))
 (small (first smaller)))
(format t "in that ~A there was a ~A, a fine ~A and a mem'ry ~A:
" big   small small   small)   (apply 'repeat-big-stuff small bigger)
(chorus)
(unless (null (rest smaller))
(format t "
And ")
(recursive-verses 
(cons small bigger) (rest smaller)))))

(defun repeat-big-stuff (small big &rest bigger)
(with-character-size (:smaller)
(format t "the ~A in the ~A"
small big)
(unless (null bigger)
(format t ", and ")
(apply 'repeat-big-stuff big bigger))))

I/O, the mem ry bank, the bank in the computer-o!
I/O, the mem ry bank, the bank in the computer-o!

Now, in that bank there was a slot, a fine slot and a mem ry slot:
the slot in the bank, and the bank in the computer-o!

I/O, the mem ry bank, the bank in the computer-o!
I/O, the mem ry bank, the bank in the computer-o!

And in that slot there was a board, a fine board and a mem ry board:
the board in the slot, and the slot in the bank, and the bank in the computer-o!

I/O, the mem ry bank, the bank in the computer-o!
I/O, the mem ry bank, the bank in the computer-o!

And in that board there was a page, a fine page and a mem ry page:
the page in the board, and the board in the slot, and the slot in the bank, and the bank in the computer-o!

I/O, the mem ry bank, the bank in the computer-o!
I/O, the mem ry bank, the bank in the computer-o!

And in that page there was a chip, a fine chip and a mem ry chip:
the chip in the page, and the page in the board, and the board in the slot, 
and the slot in the bank, and the bank in the computer-o!

I/O, the mem ry bank, the bank in the computer-o!
I/O, the mem ry bank, the bank in the computer-o!

And in that chip there was a word, a fine word and a mem ry word:
the word in the chip, and the chip in the page, and the page in the board,
and the board in the slot,  and the slot in the bank, and the bank in the computer-o!

I/O, the mem ry bank, the bank in the computer-o!
I/O, the mem ry bank, the bank in the computer-o!

And in that word there was a byte, a fine byte and a mem ry byte:
the byte in the word, and the word in the chip, and the chip in the page,
and the page in the board, and the board in the slot,  and the slot in the bank, and the bank in the computer-o!

I/O, the mem ry bank, the bank in the computer-o!
I/O, the mem ry bank, the bank in the computer-o!

And in that byte there was a bit, a fine bit and a mem ry bit:
the bit in the byte, and the byte in the word, and the word in the chip,
and the chip in the page, and the page in the board, and the board in the slot, and the slot in the bank, and the bank in the computer-o!

I/O, the mem ry bank, the bank in the computer-o!
I/O, the mem ry bank, the bank in the computer-o!