No description
Find a file
2025-12-07 11:45:07 -07:00
deps Shuffling things around 2025-11-30 13:54:15 -07:00
editors/vim Stdlib work 2025-12-05 00:39:58 -07:00
lib Some small changes 2025-12-07 11:45:07 -07:00
original_notes Shuffling things around 2025-11-30 13:54:15 -07:00
scrap Stdlib work 2025-12-05 00:39:58 -07:00
sites/stk.junglecoder.com Some small changes 2025-12-07 11:45:07 -07:00
bstk.sh Do some basic performance testing 2025-12-01 23:36:11 -07:00
cli.js Work on getting a help system onlien 2025-12-07 01:44:26 -07:00
design.txt Shuffling things around 2025-11-30 13:54:15 -07:00
interactive_test.stk Stdlib work 2025-12-05 00:39:58 -07:00
nstk.sh Do some basic performance testing 2025-12-01 23:36:11 -07:00
package.json Add package.json for less error 2025-11-30 15:20:08 -07:00
qcli.js Do some basic performance testing 2025-12-01 23:36:11 -07:00
qstk.sh Do some basic performance testing 2025-12-01 23:36:11 -07:00
README.md Do some basic performance testing 2025-12-01 23:36:11 -07:00
stvm.js Add then/else to stdlib 2025-12-07 02:20:54 -07:00
test-smol.stk Work on getting a help system onlien 2025-12-07 01:44:26 -07:00
test.stk Some small changes 2025-12-07 11:45:07 -07:00

StackTalk

This is a prototype for a language I'm calling StackTalk

The core core ideas are as follows:

  • Quotations, aka code as lists of symbols, that is runtime editable
  • Objects, the main contents of which are multiple named stacks
  • A global* value stack
  • A global* "me" stack, for the current object

* Global being "global to a given interpreter state".

Trying it out

If you just want to try out a little bit of StackTalk, there's a playground at https://junglecoder.com/playgrounds/stacktalk/.

Getting started locally

CLI/build scripts

Provided are a set of cli scripts that wrap various JS runtimes. Right now, node, bun and quickjs have all been wrapped to be able to run at least test.stk.

For node, use nstk.sh, for bun js use bstk.sh, for quickjs, use qstk.sh

Currently, outside of test.stk, there are no commitments to inter-runtime compatibility.

Playground setup

If you want to edit your own copy of the playground, the files in question are ./bin/build_playground.stk, and the contents of lib/playground

TODOs

  • Explain object creation in manual in more detail
  • Wrap basic file manipulation functions in cli.js files