tanky:~/src/toys% sh dump-differs-from-compile.sh ===== Load then dump ===== This is SBCL 1.0.48.19, an implementation of ANSI Common Lisp. More information about SBCL is available at . 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. [undoing binding stack and other enclosing state... done] [saving current Lisp image into foo.core: writing 3512 bytes from the read-only space at 0x01000000 writing 2256 bytes from the static space at 0x01100000 writing 32034816 bytes from the dynamic space at 0x09000000 done] ===== Load then compile ===== This is SBCL 1.0.48.19, an implementation of ANSI Common Lisp. More information about SBCL is available at . 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. ; compiling file "/home/james/src/toys/foo.lisp" (written 11 DEC 2011 02:04:24 PM): ; compiling (IN-PACKAGE #:CL-USER) ; compiling (DEFSTRUCT FOO ...) ; compiling (DEFUN MAIN ...) ; file: /home/james/src/toys/foo.lisp ; in: DEFUN MAIN ; (LET ((MY-FOO #S(FOO :BAR 'BAR-VAL :BAZ 'BAZ-VAL))) ; MY-FOO) ; ==> ; #S(FOO :BAR 'BAR-VAL :BAZ 'BAZ-VAL) ; ; caught ERROR: ; don't know how to dump #S(FOO :BAR 'BAR-VAL :BAZ 'BAZ-VAL) (default MAKE-LOAD-FORM method called). ; ; note: deleting unreachable code ; ; note: deleting unreachable code ; ; compilation unit finished ; caught 1 ERROR condition ; printed 2 notes ; /home/james/src/toys/foo.fasl written ; compilation finished in 0:00:00.011