Skip to content

Commit f4d7a29

Browse files
author
Johan Wiltink
committed
update TODO
everything is either already solved or moved to `Issue`s
1 parent 2b88ffa commit f4d7a29

File tree

1 file changed

+14
-14
lines changed

1 file changed

+14
-14
lines changed

TODO.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,26 @@
11
# TODO
22

3-
1. ~implement `compile = compileWith(options)` correctly~
4-
1. implement compiler directives
5-
1. add `option` to forbid compiler directives in source
6-
1. side effects? keywords for magic things like print to console? maybe just give `stdin` and `stdout` preloaded and inspect them afterwards?
7-
1. ~prettier error messages ( we already use an index into the current string for that. may be OK already )~
8-
1. compiler / evaluator debugging output dependent on log level
3+
1. ~implement `compile = compileWith(options)` correctly~ solved
4+
1. ~implement compiler directives~ open issue
5+
1. ~add `option` to forbid compiler directives in source~ open issue
6+
1. ~side effects? keywords for magic things like print to console? maybe just give `stdin` and `stdout` preloaded and inspect them afterwards?~ open issue
7+
1. ~prettier error messages ( we already use an index into the current string for that. may be OK already )~ solved
8+
1. ~compiler / evaluator debugging output dependent on log level~ open issue
99

1010
* `Calm` should log nothing and just throw errors on failure.
1111
* `Concise` could log what is being compiled: the name but not the definition. do not enter into recursion.
1212
* `Loquacious` could then also log definitions.
1313
* `Verbose` could additionally log things for recursive calls. this would probably explode the amount of logging.
1414

1515
`eval` can do something analogous. show exactly where any `Error` is thrown, and dump the environment at higher levels.
16-
1. ~tidy line 127 in src/lambda-calculus.js ( the free variables check wrapper )~
16+
1. ~tidy line 127 in src/lambda-calculus.js ( the free variables check wrapper )~ solved
1717
> ~This is why I wrap terms with the environment at that moment.~
1818
19-
This should get done with the redesign to terms having an environment
19+
~This should get done with the redesign to terms having an environment~ solved
2020

21-
Generally, go over, `lint` and `indent` code
22-
1. constants. currently all variables can not only be shadowed but also overwritten. this might mean introducing full scoping, and might not be worth it. or is it just a matter of tagging names in the environment?
23-
1. ~`boolEncoding` ? LC bools translate perfectly to JS choice functions; this might also not be worth it.~ not worth it
24-
1. Strings ( would depend on list, char _and_ number encodings; the concept seems too high level for LC )
25-
1. Make helper functions available, maybe as `LC.helpers` or with `#import` ( datatype en/decoders, standard combinators ). "Standard library" support, including a standard library? Can be showcased in example kata for now.
26-
1. ~Write some large kata for stress testing.~
21+
~Generally, go over, `lint` and `indent` code~ open issue
22+
1. ~constants. currently all variables can not only be shadowed but also overwritten. this might mean introducing full scoping, and might not be worth it. or is it just a matter of tagging names in the environment?~ open issue
23+
1. ~`boolEncoding` ? LC bools translate perfectly to JS choice functions; this might also not be worth it.~ not worth it / open issue
24+
1. ~Strings ( would depend on list, char _and_ number encodings; the concept seems too high level for LC )~ not worth it / open issue
25+
1. ~Make helper functions available, maybe as `LC.helpers` or with `#import` ( datatype en/decoders, standard combinators ). "Standard library" support, including a standard library? Can be showcased in example kata for now.~ open issue
26+
1. ~Write some large kata for stress testing.~ solved

0 commit comments

Comments
 (0)