commit b5ae50565dd1cd431ce0108436a08390d4966229
parent c34b2a4f433233eef34c5e452f5b23a81e1cedb6
Author: Yuval Langer <yuval.langer@gmail.com>
Date: Sat, 13 Jan 2024 08:29:39 +0200
Check done TODOs.
Diffstat:
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/TODO.org b/TODO.org
@@ -1,25 +1,27 @@
-- [ ] Use a single object to track RSV position.
+- [X] Use a single object to track RSV position.
+ - [X] Tried it and it results in GC churn. Use rows and columns
+ instead.
- [ ] I don't like the naming of the libraries. Rename things into
something proper.
Zipheir's points:
- [X] ALL-CAPS-NAMES are not very Schemely,
-- [ ] you can write hex literals, e.g. #xfd, #xff, etc.,
+- [X] you can write hex literals, e.g. #xfd, #xff, etc.,
- [ ] every 'match' expression should have a catch-all failure clause
that raises an exception (probably an assertion-violation, in R6RS
terms). i.e. a more *useful* exception than "no match".
-- [ ] For the library, you may want to provide a way to read a large
+- [X] For the library, you may want to provide a way to read a large
RSV in chunks (say a row) rather than all at once. A stream or
coroutine generator might be a good choice for this. For example
rsv->stream might return a stream of rows which are parsed
on-demand. This might take some design thinking.
-- [ ] BTW, I think the row & offset numbers should be passed to
+- [X] BTW, I think the row & offset numbers should be passed to
'error' as irritants instead of formatted into the error message.
That way, people can easily extract them. So (error <message>
row-num offset) You can then call error-object-irritants in R7RS to
get them out. It's not important for the binary tools, of course.
-- [ ] Oh yeah, if they're doing I/O they should definitely be called
+- [X] Oh yeah, if they're doing I/O they should definitely be called
read-something.
-- [ ] Actually, X->Y procedures in Scheme generally return one
+- [X] Actually, X->Y procedures in Scheme generally return one
value. I don't think there are any exceptions.