mirror of
https://github.com/krgamestudios/Toy.git
synced 2026-04-15 14:54:07 +10:00
41 lines
1.4 KiB
Plaintext
41 lines
1.4 KiB
Plaintext
DONE: rework type system
|
|
DONE: var decl with a type, but no value
|
|
DONE: type casting
|
|
DONE: remove optimization option
|
|
DONE: conditionals
|
|
DONE: if-then-else
|
|
DONE: chained if-then-else
|
|
DONE: optional block around a path if it's only one statement
|
|
DONE: while-then
|
|
DONE: for-then
|
|
DONE: break and continue statements
|
|
DONE: truthiness rethink
|
|
DONE: string concat with the + operator
|
|
DONE: increment & decrement operators
|
|
DONE: store compound types in variables
|
|
DONE: += -= *= /= %= operators
|
|
DONE: && and || operators
|
|
DONE: functions are invoked by calling their names
|
|
DONE: function arguments can have specified types
|
|
DONE: function returns can have specified types
|
|
DONE: closures are explicitly supported
|
|
DONE: functions are first-class citizens
|
|
DONE: functions take a set number of parameters
|
|
DONE: functions last argument can be a rest parameter
|
|
DONE: assert needs to kill the whole script, not just functions
|
|
DONE: native functions
|
|
DONE: global functions _get, _set, _push, _pop, _length, clear available
|
|
|
|
TODO: slice and dot notation around the _index function
|
|
TODO: ternary operator
|
|
TODO: Nullish types
|
|
TODO: A way to check the type of a variable (typeOf keyword)
|
|
TODO: a = b = c = 1; ?
|
|
TODO: are compounds shallow or deep copies?
|
|
TODO: Assertion-based test scripts
|
|
TODO: standard library
|
|
TODO: external runner library
|
|
TODO: document how it all works
|
|
TODO: third output stream, for parser/compiler/interpreter errors
|
|
|
|
NOPE: functions return a set number of values |