[slime-devel] What's the difference between compile and load?

E'Chao Zhang echaozh at gmail.com
Thu Mar 1 10:03:44 UTC 2007

Hi all,

I'm new to the language and to the REPL environment.

When I'm using Slime, and use C-c C-k to compile-and-load a file which 
contains constant definitions, Slime sometimes complains about constant 
redefinition. On the other hand, when I use C-c M-k to just compile the 
file, Slime sometimes just ignores the change in the file. I'm not quite 
sure if the latter phenomenon is just coincidence or it is so designated.

It makes me quite confused about the concept of compilation and loading. 
Does the compilation of a file makes the definitions inside the file 
accessible in the REPL? Or do I have to load the file? If compilation is 
enough, then what's the loading for? If load is mandatory, then why does 
compiling the defun makes the function accessible?


More information about the slime-devel mailing list