Native
A binary, not a VM
thoxa run produces a real program. Not a bytecode VM, not a tree-walk interpreter.
Expression-oriented, errors as values, a hybrid layout. Run
thoxa with no file and you get a prompt: that prompt is
Thoxa, not a second language. thoxa run,
thoxa check, and thoxa lsp are the tools.
A systems language with a serious type system and one
value model from the shell to the metal. You write .thx
files. thoxa run, thoxa check, and
thoxa lsp are the surface — when there is a
public build, those are the names.
The interactive prompt is Thoxa, not a separate dialect.
thoxa run produces a native binary.
std/ has files, sockets, HTTP, JSON, and SQLite,
grown from samples. Heap is simple single-threaded RC.
Linux x86_64 only. Windows is out of scope.
A few slices. Layout is hybrid — a Point is two integers,
not two heap boxes. Errors are values. Match takes sums apart.
Logging is info; there is no ambient println.
The type system is the point, not a garnish. Layout is hybrid — scalars stay scalars. RC is simple and single-threaded today; a smarter heap is later work, not a claim.
Native
thoxa run produces a real program. Not a bytecode VM, not a tree-walk interpreter.
Types
User types, tagged unions, literal types, and multi-clause functions. Match is how you take them apart — including guards and or-patterns.
Errors
Trial and May live in std/fallible. ? unwraps a success. Fail and Not stay in the type. You import them; they are not ambient.
Prompt
Run thoxa with no file and you get a prompt. That prompt is Thoxa — the same syntax as a .thx file — not a separate scripting dialect.
Interop
extern fn … from "c" calls libc and your own symbols. Same language, no wrapper dialect.
Editor
thoxa check and thoxa lsp. Hover shows types. The editor talks to the same compiler that runs your program.
A short note when there is something to run. No install, no feed, no drip. Just an address.