Unintended overlapping of names
Since special characters are replaced by specific strings when translating identifiers from
Curry to Go (see operation Curry2Go.Compiler.replaceInvalidChars
, names might overlap
in an unintended manner. The program
($$) :: Int -> Int -> Int
x $$ y = x + y
DolDol :: Int -> Int -> Int
DolDol x y = x + y
leads to a compilation error of the Go compiler.
If Haskell conventions are used (i.e., defined operations start with lowercase or contains only specical characters), this issue can be ignored.