[4 of 6] Compiling PrintTest ( PrintTest.hs, PrintTest.o )
PrintTest.hs:110:43: error:
• Couldn't match expected type ‘t0 -> AbsTest.Prt -> Doc’
with actual type ‘AbsTest.Prt’
• The function ‘prt’ is applied to two arguments,
but its type ‘AbsTest.Prt’ has none
In the expression: prt 0 prt
In the first argument of ‘concatD’, namely ‘[prt 0 prt]’
|
110 | AbsTest.M prt -> prPrec i 0 (concatD [prt 0 prt])
| ^^^^^^^^^
The problem is that the constructor arguments are lowercase versions of the argument types, e.g. Prt gives prt, which is the name of the printing function.
A solution is to prefix the local variables with an underscore.
The generated printer does not compile:
The problem is that the constructor arguments are lowercase versions of the argument types, e.g.
Prt
givesprt
, which is the name of the printing function.A solution is to prefix the local variables with an underscore.