
Basilisp
Basilisp is a Clojure-compatible(-ish) Lisp dialect targeting Python 3.9+. Basilisp compiles down to raw Python 3 code and executes on the Python 3 virtual machine, allowing natural interoperability between existing Python libraries and new Lisp code.
Getting Started - Basilisp
Basilisp includes a couple of different bootstrapping functions depending on how you intend to use it. For tools with a clear entrypoint, such as a CLI tool, you can trivially wrap your project’s entrypoint written in Basilisp code with a simple Python wrapper by simply calling out to the basilisp.main.bootstrap() function.
basilisp.process - Basilisp
If a path is given, the Basilisp from-file and to-file functions allow specifying the options that the file at that path will be opened with (including encoding, binary mode, etc.). In Clojure, as in the underlying java.lang.Process object, streams are always opened in binary mode and it is the responsibility of callers to encode and decode ...
Differences from Clojure - Basilisp
Basilisp, in contrast to Clojure, does not distinguish between integer (int) and floating point (float) as separate categories for equality comparison purposes where the = comparison between any int and float returns false.
CLI - Basilisp
Basilisp includes a basic CLI tool which can be used to start a local REPL session, run some code as a string or from a file, or execute the test suite using the builtin PyTest integration. Configuration¶ Basilisp exposes all of it’s available configuration options as CLI flags and environment variables, with the CLI flags taking precedence.
basilisp.main - Basilisp
basilisp.main is a Python module which includes functions for Bootstrapping the Basilisp runtime. basilisp.main. bootstrap (target: str, opts: IPersistentMap [Keyword, bool] | None = None) → None ¶ Import a Basilisp namespace or function identified by target. If a function reference is given, the function will be called with no arguments.
basilisp.core - Basilisp
The input expression may be any valid Basilisp expression. A single default expression can follow the clauses, and its value will be returned if no clause matches. The clauses are pairs of a matching value and a return value.
Compiler - Basilisp
The Basilisp compiler includes a few configuration options for emitting warnings and tweaking code generation that may be useful, particularly during development. The current Basilisp compiler options may be examined and modified using the …
Reader - Basilisp
The Basilisp reader performs a job which is a combination of the traditional lexer and parser. The reader takes a file or string and produces a stream of Basilisp data structures. Typically the reader streams its results to the compiler, but end-users may also take advantage of the reader directly from within Basilisp. Numeric Literals¶
basilisp.string - Basilisp - Read the Docs
String manipulation utilities. The functions in this namespace generally are a thin wrapper around Python str methods and may thus generally be assumed to have the same return values as the corresp...