Python API
The Python modules, documented from their docstrings. Most programs need
none of them: writing .ki files takes the language, and importing one
from Python takes import koskari. They matter when Koskari is embedded
in a Python application, extended with a Python-side special form or
layout handler, or driven by tooling.
Embedding and running
Module |
Holds |
|---|---|
The package: importing it installs the |
|
Creating a module, attaching a file, loading it on the demand or async path |
|
The meta-path finder and loaders for |
|
The |
|
Bridging Koskari callables and asyncio tasks |
|
The exception classes for the read, compile, and run stages |
The language
Module |
Holds |
|---|---|
Every name bound in a fresh module, partitioned into runtime, compile-time, and reader sections |
|
The native extension: symbols, pairs, refs, namespaces, functions, the evaluator |
|
Type predicates and helpers |
|
The s-expression and layout readers |
|
The layout handlers |
|
The compiler |
|
The special forms, by family |
|
Syntax transformers: rules, match, and bare forms |
|
Template expansion, marking, and finalize for macro expansion |
|
The pattern matcher behind specials, macros, and |
|
The codex format for |
|
The bytecode disassembler |
|
The help system |
Tooling
Module |
Holds |
|---|---|
The token stream used by the REPL and the language server |
|
The highlighted REPL input |
|
The Pygments lexer |
|
The Sphinx extension: autodoc for Koskari objects, the builtins directive, the dialogue and pair rows |
|
The language server |