Skip to content

Latest commit

 

History

History
71 lines (44 loc) · 1.93 KB

NOTES

File metadata and controls

71 lines (44 loc) · 1.93 KB

Before release

Check README

Ensure that instructions in README work as advertised.

Clarify licensing

  • List all authors an used licenses, and the respective files, at least.
  • Probably relicense to BSD.

Improve documentation

Documentation should at least be sufficient to make spells usable for other people without poking around in the source tree.

This depends on getting stexidoc up to speed again, and clarifying how it interacts with implementation-specific files.

Finishing up the R6RS adaption of Riastradh’s testing framework

This is nearly done.

The test suite itself needs a bit of coverage, especially the restarts part of it (which should be reviewed, and moved into seperate library).

Review libraries

  • Move the stuff in misc to more appropriate places.
  • Likewise for assert. Probably move tracing to debug, and move cout and cerr from assert there. Maybe dump or rename the assert macro, as R6RS provides this (although it is not compatible).
  • Fix include to use read-annotated, where available (this will finally give source positions for errors in included files).
  • Implement a portable pretty-printer in pretty-print.sls or ensure we use the implementation-provided one on all supported implementations.
  • Probably rename weak-pointer to weak-cell.

Investigate testsuite errors

There’s a bug in the streams.scm tests on Ypsilon. Probably a Ypsilon bug.

Things to think about

(spells opt-args)

Do we really need to have so many optional argument macros (except to support legacy code?). Actually, inside spells, I think I’ll forbid use of anything except DEFINE/OPTIONAL-ARGS.

(spells foreign)

Naming issues:

  • ptr vs pointer
  • dlsym and dlopen
  • The C type names might be better off using no shortened prefixes

The dlerror API is kind of ugly; probably a condition should be raised instead.