Ich habe ein Haskell-Modul, und ich möchte es alle in seiner Datei deklarierten Objekte mit Ausnahme einer bestimmten Funktion local_func
exportieren.Haskell: bestimmte Funktion (en) in Modulexporten ausblenden?
Gibt es einen saubereren Weg, dies zu erreichen, als eine Exportliste zu schreiben, die explizit alle anderen Deklarationen auflistet (und diese Liste sorgfältig für alle Ewigkeit auf dem neuesten Stand hält)?
Mit anderen Worten, ich möchte ein Analogon von import MyModule hiding (local_func)
, sondern im Export-Modul eher, dass zum Zeitpunkt des Imports.
Toller Rat: "die in einigen Fällen - die Sie wahrscheinlich nicht vorhersehen! - macht es Ihren Benutzern einfacher, Dinge in Ihrem Modul zu ändern": Ja! Dies ist ein häufiges Problem meiner Erfahrung nach, und wenn ein cabal-verpacktes Modul mit einer übermäßig restriktiven Exportliste "abgesperrt" wurde, kenne ich keine bessere Lösung als das Bearbeiten und Neuinstallieren des Pakets, was ärgerlich ist. – ntc2