Open GoogleCodeExporter opened 9 years ago
This a quirk of the syntax, made confusing by the elaborator's ability to make
sense of anything by inserting enough coercions. I've made this mistake far too
many times. Recall that [a b] means the nested list of pairs a:b:nil, whereas
[(a b)] means the list of one element (a applied to b). You need to write
refine replace ('prodD u C D) X Y [c , d] [cc , dd] = [ (replace C X Y c cc) ,
(replace D X Y d dd) ];
but perhaps we should think about changing the syntax.
Original comment by adamgundry
on 21 Sep 2010 at 7:35
After a quick chat, we came to the conclusion that:
In a later incarnation of a parser, we would give a higher precedence to comma,
hence the term [ a b c , d e f ] will be parsed as [ (a b c) , (d e f) ].
For the time being, nobody feels like playing with the bowels of the parser (it
smells like haggis, tastes like chicken), so we let this bug open.
Original comment by pedag...@gmail.com
on 21 Sep 2010 at 8:38
Original issue reported on code.google.com by
pedag...@gmail.com
on 20 Sep 2010 at 11:03