Names in Modules
When naming a symbol in a module, you should not include the module name as part of the name of the symbol. Naming a symbol this way makes it awkward to use from a client module accessing the symbol by qualifying it with a module prefix, where the module name then appears twice (once as part of the module name, another time as part of the symbol name itself).
Bad:
(defmodule varint
(export
(varint-length64 0))
(defun varint-length64 () ... )
(defmodule client-code)
(defun +padding+ ()
(varint:varint-length64))
Better:
(defmodule varint
(export
(length64 0))
(defun length64 () ... )
(defmodule client-code)
(defun +padding+ ()
(varint:length64))