No description
| deps | ||
| editors/vim | ||
| lib | ||
| original_notes | ||
| scrap | ||
| sites/stk.junglecoder.com | ||
| bstk.sh | ||
| cli.js | ||
| design.txt | ||
| interactive_test.stk | ||
| nstk.sh | ||
| package.json | ||
| qcli.js | ||
| qstk.sh | ||
| README.md | ||
| stvm.js | ||
| test-smol.stk | ||
| test.stk | ||
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