dev experiencehelp wantedlow reward
Repository metrics
- Stars
- (1,169 stars)
- PR merge metrics
- (PR metrics pending)
Description
Hi,
With the following datatype:
datatype 'a misc_app_list =
Nil
| Append of 'a misc_app_list * 'a misc_app_list
| List of 'a list;
Here's an example of what is produced:
(Append(Append(v2,List([", "])),v5 v1))
I.e:
(Append
(Append
(v2,
List([", "])
),
v5 v1
)
)
When it should be:
(Append
(Append
(v2)
( List([", "]) )
)
( v5 v1 )
)
Shortly, Append x y is printed as Append (x, y) instead of Append (x) (y).
My guess is that it's printed by the same function than the one used to print lists or things like:
case v3 of
(v2,v1) => (* <- this *)
To fix this, it should not print a , but ) ( between things.
It's working for the constructor List, but I think it's because it takes only one argument, so the bug doesn't show.