Directories
¶
| Path | Synopsis |
|---|---|
|
Package ast declares the syntax tree of Kukel programs (syntax.ebnf, sections 1-3).
|
Package ast declares the syntax tree of Kukel programs (syntax.ebnf, sections 1-3). |
|
Package builtins implements Kukel's built-in functions.
|
Package builtins implements Kukel's built-in functions. |
|
Package bytecode defines the instruction set of the Kukel stack machine and the compiled program image.
|
Package bytecode defines the instruction set of the Kukel stack machine and the compiled program image. |
|
Package compiler translates syntax trees into bytecode for the stack machine.
|
Package compiler translates syntax trees into bytecode for the stack machine. |
|
Package debugger is the core of Kukel's debuggers (TODO.md Q60, Q77): breakpoints, stepping, the stop at an exception nothing catches, and reading and changing the program's values.
|
Package debugger is the core of Kukel's debuggers (TODO.md Q60, Q77): breakpoints, stepping, the stop at an exception nothing catches, and reading and changing the program's values. |
|
Package diag defines the error type shared by the lexer, parser and compiler: a message at a source position.
|
Package diag defines the error type shared by the lexer, parser and compiler: a message at a source position. |
|
Package format formats Kukel source (kukel fmt): it re-indents lines and normalizes the spaces between tokens.
|
Package format formats Kukel source (kukel fmt): it re-indents lines and normalizes the spaces between tokens. |
|
Package lexer turns Kukel source text into tokens (syntax.ebnf, section 4).
|
Package lexer turns Kukel source text into tokens (syntax.ebnf, section 4). |
|
Package loader reads the source files of a program together with the modules they use ("use name;"), directly or through other modules.
|
Package loader reads the source files of a program together with the modules they use ("use name;"), directly or through other modules. |
|
modules
|
|
|
dbmod
Package dbmod is the native module "db": SQL databases through Go's database/sql: SQLite (modernc.org/sqlite), PostgreSQL (jackc/pgx) and MySQL or MariaDB (go-sql-driver/mysql), all pure Go, so no C library is needed.
|
Package dbmod is the native module "db": SQL databases through Go's database/sql: SQLite (modernc.org/sqlite), PostgreSQL (jackc/pgx) and MySQL or MariaDB (go-sql-driver/mysql), all pure Go, so no C library is needed. |
|
eventsmod
Package eventsmod is the native module "events": an event loop that calls Kukel functions when timers expire or other modules post events.
|
Package eventsmod is the native module "events": an event loop that calls Kukel functions when timers expire or other modules post events. |
|
fsmod
Package fsmod is the native module "fs": directories and files of the local file system (TODO.md Q61).
|
Package fsmod is the native module "fs": directories and files of the local file system (TODO.md Q61). |
|
jsonmod
Package jsonmod is the native module "json": encode Kukel values as JSON text and decode JSON text into Kukel values.
|
Package jsonmod is the native module "json": encode Kukel values as JSON text and decode JSON text into Kukel values. |
|
p9mod
Package p9mod is the native module "p9": the 9P file protocol of Plan 9 and Linux (TODO.md Q62), as a client and as a server, in both versions: 9P2000 and 9P2000.L.
|
Package p9mod is the native module "p9": the 9P file protocol of Plan 9 and Linux (TODO.md Q62), as a client and as a server, in both versions: 9P2000 and 9P2000.L. |
|
remod
Package remod is the native module "re": regular expressions, with Go's RE2 syntax (TODO.md Q59).
|
Package remod is the native module "re": regular expressions, with Go's RE2 syntax (TODO.md Q59). |
|
stringsmod
Package stringsmod is the native module "strings": a Builder class that builds a long string from many pieces.
|
Package stringsmod is the native module "strings": a Builder class that builds a long string from many pieces. |
|
termmod
Package termmod is the native module "term": the terminal a key at a time, and its size (TODO.md Q99), for programs that draw the screen themselves with ANSI escape codes, such as examples/vi.kkl.
|
Package termmod is the native module "term": the terminal a key at a time, and its size (TODO.md Q99), for programs that draw the screen themselves with ANSI escape codes, such as examples/vi.kkl. |
|
timemod
Package timemod is the native module "time": the class time::Time (an instant with a time zone), and sleep.
|
Package timemod is the native module "time": the class time::Time (an instant with a time zone), and sleep. |
|
tkmod
Package tkmod is the native module "tk": desktop windows with Tk widgets whose event handlers are Kukel functions (TODO.md Q67).
|
Package tkmod is the native module "tk": desktop windows with Tk widgets whose event handlers are Kukel functions (TODO.md Q67). |
|
utf8mod
Package utf8mod is the native module "utf8": text as characters (code points) instead of bytes (TODO.md Q93).
|
Package utf8mod is the native module "utf8": text as characters (code points) instead of bytes (TODO.md Q93). |
|
uuidmod
Package uuidmod is the native module "uuid": new UUIDs as strings (TODO.md Q58).
|
Package uuidmod is the native module "uuid": new UUIDs as strings (TODO.md Q58). |
|
workermod
Package workermod is the native module "worker": workers are Kukel interpreters that run in parallel, each on its own goroutine, and talk to the interpreter that started them only through messages.
|
Package workermod is the native module "worker": workers are Kukel interpreters that run in parallel, each on its own goroutine, and talk to the interpreter that started them only through messages. |
|
zmqmod
Package zmqmod is the native module "zmq": ZeroMQ sockets, to talk with other programs (in any language) and other machines.
|
Package zmqmod is the native module "zmq": ZeroMQ sockets, to talk with other programs (in any language) and other machines. |
|
Package native lets Go code define Kukel modules: functions, constants and native classes, whose objects carry a Go value and whose member functions are written in Go.
|
Package native lets Go code define Kukel modules: functions, constants and native classes, whose objects carry a Go value and whose member functions are written in Go. |
|
Package parser builds the syntax tree of a Kukel source file (syntax.ebnf, sections 1-3) by recursive descent.
|
Package parser builds the syntax tree of a Kukel source file (syntax.ebnf, sections 1-3) by recursive descent. |
|
Package profile turns what a vm.Profiler collected into reports (TODO.md Q78): a text report of the functions and lines that took the time, for kukel profile and the Go API.
|
Package profile turns what a vm.Profiler collected into reports (TODO.md Q78): a text report of the functions and lines that took the time, for kukel profile and the Go API. |
|
Package stdlib holds the standard modules written in Kukel (Q88), built into kukel: "use iter;" finds iter.kkl here, after the modules written in Go and before files on disk.
|
Package stdlib holds the standard modules written in Kukel (Q88), built into kukel: "use iter;" finds iter.kkl here, after the modules written in Go and before files on disk. |
|
Package token defines the lexical tokens of Kukel (syntax.ebnf, section 4).
|
Package token defines the lexical tokens of Kukel (syntax.ebnf, section 4). |
|
Package value defines Kukel's runtime values and the semantics of the operators on them.
|
Package value defines Kukel's runtime values and the semantics of the operators on them. |
|
Package vm executes compiled Kukel programs on a stack machine.
|
Package vm executes compiled Kukel programs on a stack machine. |
Click to show internal directories.
Click to hide internal directories.