Open MatthewDaggitt opened 3 years ago
I think this would be a nice improvement. This isn't hard to fix, it is more that this will be a backwards-incompatible change. So one has to provide a legacy mode. Or, in this case we could produce code using type List1
which is then a type synonym for either [ ]
or Data.List.Nonempty
depending on which module one includes.
You can write
separator nonempty Stmt ","
in the grammar but the generatedAbs
file still uses the type[Stmt]
rather thanNonEmpty Stmt
. This means that you have to duplicate the empty-case check again wherever you use the generated data type.e.g.
results in
rather than
How hard would this be to fix and where would one start?