summaryrefslogtreecommitdiffstats
path: root/src/forth
Commit message (Collapse)AuthorAgeFilesLines
* change out to a single datumbrian cully2025-12-231-5/+4
| | | | it can only get, at most, one item per tick, so only represent that.
* add bouncing when hitting arena edgeBrian Cully2025-12-181-3/+3
|
* rename velocity to speedBrian Cully2025-12-162-24/+36
| | | | mass is a scalar quantity
* compiler: add support for say, heading, velocity, and dopplerBrian Cully2025-12-151-0/+49
|
* vm: add support for robo stuff: velocity, heading, doppler, sayBrian Cully2025-12-151-0/+111
|
* compiler: add support for not, and, or, xorBrian Cully2025-12-151-0/+32
|
* vm: Add boolean operators for not, and, or, and xorBrian Cully2025-12-152-1/+98
|
* rustfmtBrian Cully2025-08-312-120/+183
|
* stop using ‘Result’ for testsBrian Cully2025-08-251-103/+75
| | | | i don't know why i liked it.
* some underflow testsBrian Cully2025-08-251-1/+31
|
* do in-place memory manipulation for rot/dup/swapBrian Cully2025-08-251-13/+31
|
* tail-position if no longer needs retBrian Cully2025-08-252-14/+26
|
* add commentsBrian Cully2025-08-251-0/+26
|
* put tail call substitution in an fn and call it inside if/thenBrian Cully2025-08-251-18/+66
|
* add rot and swapBrian Cully2025-08-252-5/+66
|
* make runtime errors std::error::ErrorBrian Cully2025-08-251-0/+8
|
* use isizeBrian Cully2025-08-251-1/+1
|
* use ‘DataStackType’ instead of hard-coding i32Brian Cully2025-08-252-4/+6
| | | | i want to try isize
* clippyBrian Cully2025-08-252-80/+59
|
* apparently ‘mod.rs’ is the old wayBrian Cully2025-08-241-2/+0
|
* move factorial test to integration testBrian Cully2025-08-241-33/+0
|
* parser → compilerBrian Cully2025-08-241-2/+2
|
* rename parser → compiler, interp → vmBrian Cully2025-08-243-253/+253
| | | | reflects reality better
* pass annotations to js so we can highlight program textBrian Cully2025-08-241-33/+50
|
* add some benchmarkingBrian Cully2025-08-231-3/+4
|
* show wordlist in html on compileBrian Cully2025-08-232-6/+14
|
* wip: pass interp between js and rustBrian Cully2025-08-231-9/+9
|
* make compile button actually compileBrian Cully2025-08-223-6/+9
|
* start hooking the web ui up to rustBrian Cully2025-08-221-1/+3
|
* factorial workingBrian Cully2025-08-213-82/+182
|
* add tail call elimination for call and if.Brian Cully2025-08-212-38/+480
|
* interpreter now uses same structure as parserBrian Cully2025-08-192-55/+73
|
* parser now emits list of words and hashmap of string→indexBrian Cully2025-08-193-0/+360
wordlist is just a vector of bytecode entries. to associate a word to an entry in the wordlist, use the word catalog to look up by name.