There's no name space in Emacs lisp, so people use various prefixes to avoid name clash. Section D.1 of Emacs lisp reference manual recommends using a short prefix followed by one or two hyphen(s):
• You should choose a short word to distinguish your program from
other Lisp programs. The names of all global symbols in your
program, that is the names of variables, constants, and functions,
should begin with that chosen prefix. Separate the prefix from the
rest of the name with a hyphen, ‘-’. This practice helps avoid
name conflicts, since all global variables in Emacs Lisp share the
same name space, and all functions share another name space(1).
Use two hyphens to separate prefix and name if the symbol is not
meant to be used by other packages.
See this question about why elisp does not have namespaces.
bh/
. Many people dislike forward slash in functions and variables and prefer a dash instead. The forward slash in the function name does not mean anything special -- it could be anything -- e.g., a dash, a forward slash, the letter z, the letter a, etc.M-x describe-function RET hide-other RET
-- "This function is obsolete since 25.1; useoutline-hide-other
instead. Hide everything except current body and parent and top-level headings."/
is a symbol-constituent character in Emacs-Lisp mode. That is, it is an ordinary character for symbol names.