scicloj / wolframite

An interface between Clojure and Wolfram Language (the language of Mathematica)
https://scicloj.github.io/wolframite/
Mozilla Public License 2.0
56 stars 2 forks source link

Fix #68: Clean up, document core ns #69

Closed holyjak closed 4 months ago

holyjak commented 4 months ago

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, ...

holyjak commented 4 months ago

TODO: Finish (see added FIXMEs), review the result, update explainer/demo/... ns as needed.

light-matters commented 4 months ago

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).