aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authormryouse2022-05-19 04:03:52 +0000
committermryouse2022-05-19 04:03:52 +0000
commit5d4c63b0664561f6fb696f552bea92f612118908 (patch)
tree14b8606687345d2552937a79eb2c251c7341b67a /README.md
parent0c8434f6786936fea5e638736e9ddd0fd0314fd0 (diff)
progress (?) 5/19
Diffstat (limited to 'README.md')
-rw-r--r--README.md24
1 files changed, 13 insertions, 11 deletions
diff --git a/README.md b/README.md
index 921dbf2..1365375 100644
--- a/README.md
+++ b/README.md
@@ -11,13 +11,13 @@
## things that (hopefully) work
### housekeeping
- - `(debug-on) => :bool ; turn on debugging (default)`
- - `(debug-off) => :bool ; turn off debugging`
- - `(exit [[status :int]]) => :bool`
+ - TODO `(debug-on) => :bool ; turn on debugging (default)`
+ - TODO `(debug-off) => :bool ; turn off debugging`
+ - TODO `(exit [[status :int]]) => :bool`
### io
- `(print [out :string]) => :bool ; print to stdout`
- - `(print-all [strings :list]) => :bool ; a list of strings`
+ - TODO `(print-all [strings :list]) => :bool ; a list of strings`
### math
- `(+ [arg :number] [many :number]) => :number`
@@ -25,26 +25,29 @@
- `(* [arg :number] [many :number]) => :number`
### string
- - `(concat [arg :string] [many :string]) => :string`
+ - TODO `(concat [arg :string] [many :string]) => :string`
### flow control
- `(if [cond :bool] [t-branch :any|:expr] [[f-branch :any|:expr]]) => :any`
-### type checking
+### type checking TODO
- `(string? [arg :any]) => :bool`
- `(int? [arg :any]) => :bool`
- `(float? [arg :any]) => :bool`
- `(number? [arg :any]) => :bool ; returns #true for :int or :float`
- `(bool? [arg :any]) => :bool`
-### type conversion
+### type conversion TODO
- `(int->string [arg :int]) => :string`
- `(float->string [arg :float]) => :string`
- `(number->string [arg :number]) => :string`
- `(bool->string [arg :bool]) => :string`
- `(->string [arg :literal]) => :string ; works for all literals`
-### shell
+### global variables
+ - `(def [name :string] [value :expr]) => ?`
+
+### shell TODO
- `($ [command :string]) => :list ; doesn't support pipes, first item is return code`
- `($| [commands :list]) => :bool ; pipes together multiple shell commands`
@@ -54,11 +57,10 @@
## TODO (this section may be incomplete)
### types
-- [ ] refine type system
-- [x] many
+- [ ] revisit type system when i understand *gestures broadly*
### parsing
-- [ ] build an AST like a real person
+- [x] build an AST like a real person (sorta?)
### math
- [ ] division (float)