Hacker News new | ask | show | jobs
by serichsen 3895 days ago
I am not on that mailing list, but I'd like to point out Emacs Lisp, which doesn't have modules (they would rather be called "packages" as in Common Lisp, but anyway, they just are not there).

Instead, the idiom has emerged to prefix every function name with its "package name". I'd take a deep look at the discussions in the Emacs Lisp community, in order to see the matter from the other side.

2 comments

Though Common Lisp 'packages' are not really 'modules', they are namespaces for symbols. Common Lisp does not really hide things. It also does not allow fine grained control of interfaces: the class FOO and the function FOO with be both exported, when exporting the symbol FOO. Packages are also no compilation/deployment targets - there is for example no mechanism to compile or load a package.
In the last few years there were a few proposals to bring namespaces, and still emacs is a single flat namespace.