Janet API Survey

Created:

Updated:

Update

Intro

I’m learning the Janet language. When learning Lisp-like languages in the past, I’ve struggled with the sheer number of functions. Janet is no different in this regard—at the time this page was last updated, the root environment of version 1.41.2 contained 702 bindings. While this is not a large number for a core library, the flat organizational structure can make it difficult to discover functionality. For example, I initially struggled to find how to update a nested data structure because I was searching for set-in (to match get-in) and overlooked put-in. Clojure has a helpful cheatsheet for this purpose, but I haven’t yet found a comparable document for Janet. So, I’m going to build the resource I wish I had.

My plan to tackle this:

  1. Learn a few bindings each day (or so).
  2. Read the source code for each binding.
  3. Submit pull requests to fix any incorrect or lacking official documentation.
  4. Add examples to JanetDocs where they are missing.
  5. Categorize each function to build an organized cheatsheet.

I’ll track my progress by linking each binding below to a corresponding page.

Bindings

% %= * *= *args* *current-file* *debug* *defdyn-prefix* *doc-color* *doc-width*