In a recent Common Lisp project, I needed to read a string and and call a corresponding function of the same name (in a dispatch table), essentially mapping a string to a function.
I initially tried
(intern "string") which worked fine but the return
value did not correspond to a symbol named
Turned out that
intern does not work quite the same as the reader,
which usually uppercases input symbols (but only as a convention). The
(intern (string-uppercase "string")) worked, but
had a funny smell. I later ran across a comment in another project that
the workaround fails for some Lisp implementations.
Later on, I came across the aptly named
function, which does exactly what I needed! Since it uses the reader,
it “just works”. The moral of the story is probably to look a little
harder for the documentation!