Ich verwende Schellfisch und möchte nicht, dass alle meine exportierten Funktionen in der Dokumentation angezeigt werden. Ist es möglich bestimmte Funktionen zu verstecken? Ich fand das Prune-Attribut bei Ссылка , aber das ist nicht das, was ich seit einigen Funktionen möchte welche exportiert werden sollen, haben keine Dokumentation.
Angenommen, Ihr aktuelles Modul ist Foo.Bar
, wäre es eine Lösung, es in Foo.Bar
und Foo.Bar.Internal
aufzuteilen. Sie könnten alle Definitionen, die sich auf die Funktion beziehen, die Sie nicht exportieren möchten - vielleicht sogar alle die Definitionen - in Foo.Bar.Internal
. Dann würden Sie in Foo.Bar
nur die Definitionen re-exportieren, die die Welt sehen soll.
Dieser Ansatz hat einige Vorteile. Damit können Sie alles exportieren, was Sie benötigen, und gleichzeitig dem Benutzer ein klares Zeichen geben, dass bestimmte Dinge nicht verwendet werden sollten. Außerdem können Sie Ihre speziellen Funktionen im Modul Internal
dokumentieren, was nützlich sein wird (nur für Ihr zukünftiges Selbst: P).
Sie könnten einfach nicht Foo.Bar.Internal
in Ihre .cabal
-Datei exportieren, um sie vor der Welt zu verbergen. Dies ist jedoch nicht unbedingt der beste Ansatz. Sehen Sie sich die Antworten zu How, why und when to use an das ".Internal" -Modulmuster? , insbesondere luqui .