Top-Level-Deklarationen und lokale Deklaration in Curry AST trennen
In der Definition des Curry-AST in Curry.Syntax.Type
wird nicht zwischen Top-Level- und lokalen Deklarationen unterschieden. Dadurch müssen im Frontend oftmals einige Fälle überprüft werden, die gar nicht auftreten können, z.B. Datentypdeklarationen innerhalb eines where
-Blocks.
Es ist daher sinnvoll, eine Unterschiedung zwischen TopDecl
und Decl
einzuführen, wie auch der MCC sie hat.
Zu beachten ist dabei, dass dann natürlich auch curry-frontend angepasst werden muss.