Wie exportieren Sie Typoperatoren? Wenn man bedenkt, dass sie mit normalen Operatoren kollidieren können, muss es eine spezielle Syntax geben, wenn es möglich ist.Typoperatoren aus Modulen exportieren
Antwort
fand ich die Antwort in Abschnitt 7.4.4 of the GHC User's Guide, in dem es heißt:
Es gibt jetzt einige potentielle Mehrdeutigkeit im Import und Export-Listen; zum Beispiel, wenn Sie schreiben
import M((+))
meinst du die Funktion(+)
oder die Typ Konstruktor(+)
? Der Standardwert ist die ehemalige, aber mit-XExplicitNamespaces
(die von-XExplicitTypeOperators
impliziert) GHC ermöglicht es Ihnen, diese zu spezifizieren, indem sie mit dem Schlüsselworttype
vorhergehenden, also:import M(type (+))
Obwohl es nicht wie Sie scheint muss eigentlich -XExplicitNamespaces
angeben, vielleicht -XExplicitTypeOperators
ist ein Tippfehler, der -XTypeOperators
sein soll. Einige weitere empirische Belege dafür:
★ → :set -XExplicitTypeOperators
Some flags have not been recognized: -XExplicitTypeOperators
Anstatt einen Typ zu importieren, können Sie eine Art Operator nur exportieren möchten.
Ich definierte type a * b = ...
, aber exportiert (*)
exportierte die Prelude-Funktion (*)
anstelle des Typs Synonym. Ähnlich wie bei der Antwort oben, um Export eine Art Operator, können Sie die Syntax verwenden:
module Foo (type (*)) where
type a * b = ...
- 1. Exportieren von Modulen in Typoskript
- 2. Einzelklassenmethode mit ES6-Modulen exportieren/importieren?
- 3. Mehrere Klassen in ES6-Modulen exportieren
- 4. babel/6to5 - duplizierter Code beim Exportieren von Modulen
- 5. Referenzierung Objekte aus anderen Modulen
- 6. Daten aus InfluxDB exportieren
- 7. Exportieren von Daten aus Abfrageergebnissen
- 8. Verknüpfungen aus Android Studio exportieren
- 9. Exportieren eines Makefiles aus Codeblocks
- 10. Exportieren von Kommentaren aus Excel
- 11. Exportieren von Daten aus Zeichenfolge
- 12. Importieren von Modulen aus tief verschachtelten Verzeichnisstrukturen
- 13. Importieren von Modulen aus dem Netzwerk
- 14. Aufrufen von Python-Modulen aus Java
- 15. Mischen von SystemC Modulen mit Omnet ++ Modulen
- 16. Exportieren von Daten aus Datentabelle mit select-Elemente exportieren jede Option aus dem Auswahlelement
- 17. Exportieren einer LaTeX-Tabelle aus Pandas DataFrame
- 18. Animationssequenz aus Flash als JPEGs exportieren
- 19. Benutzerdefinierte Daten aus Filter FabricJS exportieren
- 20. Exportieren nach Excel aus der Anwendung
- 21. Berichte aus SSRS Report Manager exportieren
- 22. Exportieren von Daten aus db2 mit Spaltennamen
- 23. Android - Einzelschlüssel/Alias aus Keystore exportieren
- 24. Batch exportieren Bilder aus der Bibliothek?
- 25. Exportieren von Daten aus SQLite 3
- 26. Exportieren von Daten aus der HBase-Shell
- 27. Exportieren von globalen Variablen aus DLL
- 28. Exportieren von Konstanten aus einer DLL
- 29. Exportieren von CSV-Datei aus Python Sqlite3
- 30. Was ist der Unterschied zwischen browserify/requirejs-Modulen und ES6-Modulen?
Bitte einen Fehlerbericht gegen diese Dokumentation auf der GHC Trac-Datei. Wenn Sie nicht wollen, lassen Sie es mich wissen und ich werde es tun. Lass es mich wissen, egal wie :). – dfeuer
@dfeuer https://ghc.haskell.org/trac/ghc/ticket/10175 hier gehen wir! – Shou