diff options
| author | mryouse | 2022-05-19 04:03:52 +0000 |
|---|---|---|
| committer | mryouse | 2022-05-19 04:03:52 +0000 |
| commit | 5d4c63b0664561f6fb696f552bea92f612118908 (patch) | |
| tree | 14b8606687345d2552937a79eb2c251c7341b67a /README.md | |
| parent | 0c8434f6786936fea5e638736e9ddd0fd0314fd0 (diff) | |
progress (?) 5/19
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 24 |
1 files changed, 13 insertions, 11 deletions
@@ -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) |
