In no particular order.
- (done) spaces in strings
- (done) expressions directly in output
- (done) negative numbers
- (done) add min and max operators
- (done) add sum keyword for lists
- (done) add prod keyword for lists
- (done) test remaining untested operators
- (done) random library/function
- (done) "type" keyword to get type of a item in an expression
- (done) "split" string operator
- (done) run code from directory/path not just cwd
- (done) represent program as flowchart (parsed statements)
- (done) brainstorm language name - "stackto"/"StackTo" (stack + goto)
- (done) brainstorm file extension - ".stackto"
- (done) syntax highlighter (/formatter)
- (done) revised bnf
- use argparse for impl.py and generate_flowchart.py
- (done) figure out something better than COLON to replace colon with port issue for graphviz
- (done) add special "inputnum" operator to autocast user input to number
- (done) add list set nth trinary operator e.g. "$list index x setnth"
- add line numbers to error output
- fix flowchart generator to use node labels and remove possible duplicate node name issues
- port syntax highlighter to js so that it can be run on a website
- add list "contains" binary operator
- add string formatting with %s or similar
- fix code formatter to allow empty lines for readability
- academic writeup of syntax, semantics
- display code output underneath highlighted syntax output from syntax highlighter (capture stdout)
- actual jupyter-like notebook support
- "set" datatype
- record/dict datatype
- dark theme css for syntax highlighting
- ide support (lsp)
- data structure libraries or keywords
- graphviz integration
- optimize code
- write wrapper to mock output for batch testing files
- input from within expressions (?)
- provide prompt functionality for input, e.g. "inputprompt"
- standard library/functions (?)
- file i/o library/functionality
- gui library
- cli repl
- csv lib
- function namespaces (e.g., List.nth, List.splat...) (?)
- allow definition of custom stack operators
- js interpreter and online repl
- port to c or llvm or java
- regex lib
- web/requests library
- documentation website
- language logo
- naming convention for markers based on function
- (rejected) fix comment difficulty by removing comments before splitting on semicolons
- (rejected) add multiline comments - brainstorm a delimiter