The way Tablecloth unifies column processing and row processing in a functional way is so elegant.
17 karma · joined June 29, 2019
The way Tablecloth unifies column processing and row processing in a functional way is so elegant.
Another detail is that the whole culture of the language, oriented towards immutable data, makes it very easy to evaluate almost any sub-expression in your code, which makes the whole code introspectable in a very playful and dynamic way.
Clojure does have notebook solutions which are worth looking into: * https://github.com/clojupyter/clojupyter * https://github.com/jsa-aerial/saite * https://pink-gorilla.github.io (WIP, but is growing fast and going to be magnificent)
Some other projects are trying to connect the notebook idea with the REPL+editor experience. For example: * https://github.com/metasoarous/oz
We will assume some basic knowledge of Clojure, but I guess it may be interesting to join anyway.
Eventually, it may be a good idea to try both Clojure and Python.
Personally I find Clojure's approach towards data very refreshing. It does require an open mind and a mindset different than usual. Eventually, this can bring joy, simplicity and power.
This article by Chris Nuernberger nicely explains what it is about: https://cljdoc.org/d/cnuernber/libpython-clj/1.2/doc/so-many...
Clojure's community is certainly smaller than Python's, but some say it is very friendly.
Below are some beginner-friendly places to chat about it. If you wish, let us chat there, dive into the details, and think how you could begin exploring.
Clojurians Zulip https://clojurians.zulipchat.com and especially the data-science stream: https://clojurians.zulipchat.com/#narrow/stream/151924-data-...
Clojureverse https://clojureverse.org
For literate programming, the Clojure/Clojurescript ecosystem keeps bringing up fascinating environments (in addition to CIDER+Org-mode and Clojupyter).
https://github.com/metasoarous/oz
https://github.com/jsa-aerial/saite
https://github.com/pink-gorilla/gorilla-notebook
are all actively developed and worth following, and they are all rather innovative in the ideas they bring to the table.
For polyglot reproducible literate programming, there is also https://nextjournal.com (implemented in Clojure/Clojurescript).
Clojure's ML/stats ecosystem is moving fast. Several important libraries are under construction and will mature in few months. Imho, it is worth following this year, for anyone interested in languages for ML/stats.
In addition to probabilistic programming libraries such as Metaprob and Anglican mentioned above, here are some libraries worth mentioning: https://github.com/MastodonC/kixi.stats https://github.com/generateme/fastmath https://github.com/techascent/tech.ml