Closed holyjak closed 4 months ago
TODO: Finish (see added FIXMEs), review the result, update explainer/demo/... ns as needed.
I would be more brutal and remove any non-public function to a separate namespace. We only really need init!, terminate-kernel!, eval, ->clj and ->wl. There some experimental things here as well, like is-function?. This could maybe be moved to a 'graveyard' or 'experimental', 'legacy' or 'ideas' namespace.
I would potentially also rename terminate-kernel! to make it more complimentary to init!. We could potentially introduce go, halt and reset to be consistent with luminus/kit (https://kit-clj.github.io/docs/guestbook.html#quickstart_github_codespaces)? Linguistically, it might be better to have start, stop and reset (if reset is easy to implement).
Our core ns should be the main/only thing our users know and/or care about. Make sure it is ready for that: hide vars that users should not care about, make sure the rest is well documented, ...