aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authormryouse2022-05-11 03:41:52 +0000
committermryouse2022-05-11 03:41:52 +0000
commitbb09a338814e1ab6e77451a0cedf61341a4d75c8 (patch)
tree6568c978a75d927ebc5b758f28e648fe26145c06 /README.md
parenta34ff82ed07ce3187659c2e1dc23e1e60d3d9da6 (diff)
merge TODO into README, update
Diffstat (limited to 'README.md')
-rw-r--r--README.md51
1 files changed, 48 insertions, 3 deletions
diff --git a/README.md b/README.md
index 50b7e8d..a7e48be 100644
--- a/README.md
+++ b/README.md
@@ -8,8 +8,53 @@
- **Immutable variables**: mutability is scary and makes for strange bugs
- **Pure functions**: side effects are also scary
-## things that work
- - `(print [out :string]) => :bool`
+## things that (hopefully) work
+
+### housekeeping
+ - `(debug-on) => :bool ; turn on debugging (default)`
+ - `(debug-off) => :bool ; turn off debugging`
- `(exit [[status :int]]) => :bool`
- - some arithmetic (`+`, `-`, `*`)
+
+### io
+ - `(print [out :string]) => :bool ; print to stdout`
+
+### math
+ - `(+ [left :number] [right :number]) => :number`
+ - `(- [left :number] [right :number]) => :number`
+ - `(* [left :number] [right :number]) => :number`
+
+### string
+ - `(concat [arg1 :string] [arg2 :string]) => :string`
+
+### flow control
+ - `(if [cond :bool] [t-branch :expr] [f-branch :expr]) => :any`
+
+### other
- pretty much nothing else
+
+## TODO (this section may be incomplete)
+
+### math
+- [ ] division (float)
+- [ ] division (int)
+- [ ] mod (int)
+- [ ] exponent
+
+### strings
+- [x] concat
+- [ ] substring
+- [ ] lower/uppercase
+
+### flow control
+- [x] if
+- [ ] if with empty else
+- [ ] branch
+
+### lists
+- [ ] lex
+- [ ] parse
+- [ ] evaluate
+
+### symbols
+- [ ] define
+- [ ] access