For C/C++, people use #ifdef .. #endif technique to prevent reloading libraries, and Objective-C uses import to do the same thing.
How about lisp/elisp? If (require ‘cl) is used before, and (require ‘cl) is seen somewhere, lisp is clever enough not to load it again? Or, is there any way to prevent this reloading libraries?
No, elisp won’t load it again. From the docs (
C-h f require):The same is true for Common Lisp: