Today we had the meeting of dilletantes. That is the dilletante is me and not Peter who was also present. We were trying to get epigram to add two and two because Peter told me that this would be possible now. Obviously, we failed. First the current version of the parser refused to parse the second definition in tests/Four.epig.After some experiments we realized that it didn’t like the %-signs so we got rid of them and successfully parsed the whole story but the output of four still shows only the unevaluated definition. Maybe this is a feature?
A bit of digging shows that the old Grouper got rid of horizontal spaces (%) and recovered the full line. Current version does not do this though the code that deals with them is similar. More digging being under taken.
Sorted. Two problems: % was being incorrectly classified by the lexer hence producing ordinary tokens, rather then cancelling line breaks; meanwhile a slip of the fingers had the unevaluated definition being blatted out rather than the evaluated definition. The latter was a version of the classic ′ bug—compute the new version, then use the identifier for the old one by accident.
It’s the sort of thing that compiler warnings are quite good at spotting, so I ran ghc -Wall and, er, sorry folks…