help wanted
Repository metrics
- Stars
- (1,169 stars)
- PR merge metrics
- (PR metrics pending)
Description
The CakeML lexer operates on a char list. Therefore the first thing the CakeML compiler does after reading in its input string is explode the string into a list. This is wasteful: I think the lexer can easily be made to work on mlstrings.
This issue is to make the lexer operate on mlstrings and update the compiler accordingly to avoid the explode.
Extension thoughts:
- The
sexp-parsing option would still need toexplodethe input because thesexpparser operates onchar lists in a possibly more unavoidable way. (This issue does not require avoiding theexplodeforsexps.) - For large input, we might want to be even more sophisticated and lex/parse/typecheck incrementally, to catch errors before reading in all the source code. (Obviously this issue doesn't require doing that.)