-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
There are a bunch of things to learn from Lisp:
* list processing -> model data as lists and process those
* list processing applied to Lisp -> model programs as lists and process those -> EVAL and COMPILE
* EVAL, the interpreter as a Lisp program
* write programs to process programs -> code generators, macros, ...
* write programs in a more declarative way -> a code generator transforms the description into working code -> embedded domain specific language
* interactive software development -> bottom up programming, prototyping, interactive error handling, evolving programs, ...
and so on...
A really good, but large, book to teach this is PAIP, Paradigms of Artificial Intelligence Programming, Case Studies in Common Lisp by Peter Norvig ( -> https://github.com/norvig/paip-lisp ).
A beginner book on the practical side is: PCL, Practical Common Lisp by Peter Seibel ( -> https://gigamonkeys.com/book/ )
Both are available online at no cost.
But after you get past some basic weird stuff, it's a quite wonderful language.
> I can only speak for myself, but I definitely reason about code outside in rather than inside out.
You can indent code to make it much easier to "parse", and use some macros that turn the code inside/out, it's more readable than most other languages.
The CL cookbook is an excellent resource, and this page links to several other excellent resources and books you can read for free online: https://lispcookbook.github.io/cl-cookbook/
The "new docs" also present the documentation in a "modern" looking way (rather than the 90's looks of what you get if you Google around): https://lisp-docs.github.io/cl-language-reference/
About other Lisps...
The Racket Guide is definitely not "bone-dry": https://docs.racket-lang.org/guide/intro.html
It is well written and looks very beautiful to me.
On another Scheme, I find Guile docs also great: https://www.gnu.org/software/guile/manual/html_node/index.ht...
They may be a bit more "dry" but they're to the point and very readable! In fact, I think Lisp languages tend to have great documentation.
On thing to keep in mind when you see the language, which evolved of several decades: it has low-level (go to, ...), mid-level (macros, ...) and high-level (CLOS + MOP) elements in one language. A reason for that: the low-level parts are code generation building blocks for the higher level parts. The SERIES library (a higher-level way to think about loops and sequences) uses macros (mid-level) to transform code into efficient loops (-> low-level): https://github.com/rtoy/cl-series
Related posts
-
Gamedev in Lisp. Part 1: ECS and Metalinguistic Abstraction
-
A few newbie questions about lisp
-
A new video about image-based development in Common Lisp (please, turn on EN subs)
-
A much needed cookbook for the Lisp-curious (and learning)
-
Debugging Lisp: fix and resume a program from any point in stack 🎥