Mention in the documentation that parseSubmission might produce output even when the input is successfully parsed?
Currently, the narrative is all about: it might want to produce error messages.
But it might also make sense to produce output when the input was syntactically well-formed. For example, to repeat to the student how their input was interpreted.
Before 129abf9, doing that wouldn't have been a good idea, because parseRes = preprocess input was being run twice, in parseRes $>>= syn and parseRes $>>= sem, so any output produced during a successful parse (with a subsequent successful syntax check) would have appeared in both Output listings in the final IO ([Output], Maybe (Maybe Rational, [Output])), and thus also be printed twice on Autotool.
But after merging #201, the situation becomes more benevolent.
Mention in the documentation that
parseSubmissionmight produce output even when the input is successfully parsed?Currently, the narrative is all about: it might want to produce error messages.
But it might also make sense to produce output when the input was syntactically well-formed. For example, to repeat to the student how their input was interpreted.
Before 129abf9, doing that wouldn't have been a good idea, because
parseRes = preprocess inputwas being run twice, inparseRes $>>= synandparseRes $>>= sem, so any output produced during a successful parse (with a subsequent successful syntax check) would have appeared in bothOutputlistings in the finalIO ([Output], Maybe (Maybe Rational, [Output])), and thus also be printed twice on Autotool.But after merging #201, the situation becomes more benevolent.