A compiled version of a StackTalk interpreter
  • Zig 86.9%
  • JavaScript 12.1%
  • Vim Script 1%
Find a file
2026-06-29 23:08:19 -06:00
editors Various cleanups, work on getting subprocesses to run 2026-06-28 23:00:00 -06:00
src Various cleanups, work on getting subprocesses to run 2026-06-28 23:00:00 -06:00
.gitignore Working on skit, new role stuff 2026-06-28 00:02:26 -06:00
build.zig Working on getting skit up and running, and the various yak shaves therein 2026-06-21 23:05:20 -06:00
README.md Get most strings interning, load env vars, fix string split 2026-06-23 00:16:26 -06:00
RESEARCH.md WIP on block predicate 2026-06-16 22:49:10 -06:00
RESEARCH.pstk Add RESEARCH.pstk and TRACKER.pstk 2026-06-28 23:47:19 -06:00
stvm.js Prep for pushing repo up 2026-03-30 11:53:49 -06:00
TRACKER.pstk Update tracker 2026-06-29 23:08:19 -06:00

Native StackTalk interpreter

Requirements

This project uses zig 0.15.2 for the time being, upgrades to 0.16.x and 0.17.x are planned, but I'd like to get the site generator and basic bindings to Raylib done first.

Getting a basic CLI, -very- feature incomplete

zig build 

gives you an stk executable in zig-out/bin

If you want to install it

zig build -p folder_with_bin_on_path

Plans

  • stk STacKtalk cli, used for running one-off scripts, or as a calculator

  • Implement stk repl improperly

  • Implement stk run command to run files

  • Offer stk e[val] to force expression eval

  • skit, Stacktalk dev KIT, a StackTalk project management tool. Will start out very basic.

    • Allow it to run commands defined in skript files, similar to project.stk files in JS StackTalk
  • skit-powered SSG, based on existing JS StackTalk SSG.

    • Test Directory .lsr
    • Build Directory .[ "." walk ]
    • [.] Port page-gen DSL from JSTK lib/pages/web.stk
    • Port build task to skit
    • Optimize % word compilation so that unbroken constants get written in one go, rather than as a gaggle of small writes.
    • Implement basic subprocessing calls, to make skit publish reasonable
  • Implement stk repl properly (including something akin to readline)

  • Move fpc.zig somewhere else