tatara-lisp-script 0.2.4

tatara-script — standalone interpreter that makes tatara-lisp a full scripting language for nix-run apps. Wraps tatara-lisp-eval with a scripting-oriented stdlib (http, json, yaml, sops, file I/O, env, sha256, string ops) so a .tlisp file can replace a bash script one-for-one.
Documentation

tatara-lisp-script — scripting surface for tatara-lisp.

Wraps tatara-lisp-eval::Interpreter<ScriptCtx> with a batteries-included stdlib (http, json, yaml, sops, file I/O, env, sha256, string ops) so a .tlisp file can replace a bash script. The binary (tatara-script) parses a .tlisp file, expands macros via tatara-lisp, and evaluates each form against this stdlib.

Usage from nix-run

apps.tatara-script = {
  type = "app";
  program = "${tataraScript}/bin/tatara-script path/to/script.tlisp";
};

Library surface

Embedders that want to add domain-specific FFI on top of the stdlib can:

use tatara_lisp_script::{Interpreter, ScriptCtx, install_stdlib};

let mut interp: Interpreter<ScriptCtx> = Interpreter::new();
let mut ctx = ScriptCtx::default();
install_stdlib(&mut interp, &mut ctx);
// Register more fns before eval_program.