I’m not an expert, but:
- “#use” is more-primitive: it loads a file of source code, etc.
- “#require” is related to findlib, and finds/loads a findlib package and its antecedents.
OK, so let me say that again: “#use” (from my experience/memory) loads a source-file, and is very, very primitive. So #use "topfind"
looks for a file named “topfind” on the current search-path, and once found, parses/executes it. It’s very low-level.
I won’t describe what #require
does, b/c it’s involved, but basically: go look at the findlib documentation.