I come from an OOP background in C++ so naturally I have some preconceptions of how code is to be organized across multiple files.
How is this usually done in Lisp?
Do I have each Class or struct in a single file?
How many functions in a file before i need to break it in to two?
Most people don't want to work with giant monolithic files when programming.
What are the rules of thumb for splitting a project across multiple files?