7:20:14beachI think I have come up with a reasonable abstraction for computing indentation. I think this because there is only a modest amount of code duplication, and creating code for computing the indentation of some new construct is reasonably fast. As I mentioned yesterday, I am working on type specifiers.
7:20:15beachThe good news with indentation is that nothing very bad happens if some expressions are not handled. So it is safe to assume that indentation does not need to be computed when it is likely that the entire expression will be on one single line. If it turns out that it isn't, subsequent lines just won't be indicated to have incorrect indentation.