What is the purpose of core.clj file?

clojure

Solution

There's no defined meaning for it, but in an application it's often where you'll find the entry point, the `main-` function. For libraries, `foo.core` is often the namespace users will import to get your main functionality.

You don't have to do it that way, but it's a semi-predictable place to have the 'central bit' of whatever it is you're writing - even if your actual logic and algorithmic code is somewhere else.

Problem

I am just started on clojure and have a very basic question about core.clj. What is a convention about it? What code should go there? Public API? It is generated by leiningen when creating a project. I have looked into source code of some libraries and this file is also present there (per package?). Thanks

Original source