riff
riff copied to clipboard
The Riff programming language
Ex: ```riff (1,2) ``` Not that this would be particularly useful, but it threw me off-guard when the compiler threw an error for this instead of simply evaluating and throwing...
Numbered groups are already stored; forgot to implement named capture groups. Also, audit the behavior of `$abc`. Currently, `abc` would be treated as an expression (variable). To dereference the field...
For comparison, Python's `eval()` does have access to locals; Lua's `load()` does not. Obviously this is a side-effect of how locals are compiled. It's not possible for `eval()` to know...
- [ ] `popen()` - [ ] `system()`/`exec()` - [ ] `remove()` - [ ] `rename()` - [ ] `date()` - [ ] `time()` - [ ] `sleep()` - [...
Currently, `in` is only supported in `for` loops. `in` can be added as an infix operator (membership, pattern matching, etc); valid in any expression. Support for `not in` would need...
The interpreter currently prints some message to `stderr` and immediately exits whenever a given error is encountered. There needs to be a more robust system in place s.t. various callers...
Note that the current lexical scoping rules will need to probably be chanegd to make closures work (i.e. make sense)
Since day 1, each `riff_code` object has maintained its own constants table, which forces a small amount of overhead since the VM uses a local variable for the constants tabled...
At the moment, there is only a single check for stack overflow at the very start of the interpreter loop. This obviously doesn't account for values being pushed onto the...