2013-02-17 25 views
12

Ich weiß, dass die GHC-API mir die Verwendung as a library, Zugriff auf die Compiler-Funktionen wie Analysieren, Ausführen und Transformieren von Haskell-Codes gewährt. Ein Haskell-Programm, das den GHC als Paket importiert, wird, wenn er kompiliert wird, eine eigene (Teil-) Kopie des GHC enthalten und ist somit auch auf Systemen lauffähig, auf denen der GHC nicht installiert ist.Verbinden mit dem System GHC

Was aber, wenn ich den GHC nicht in das Programm aufnehmen und stattdessen den auf dem System installierten verwenden möchte?

Wenn das Programm einen Haskell-Code erhält, wird es das GHC des Systems verwenden, um es zu verstehen und, wenn nötig, auch alle Pakete und Bibliotheken (die auf dem GHCi verfügbar sind) zu importieren.

  1. Bietet der GHC (auf verschiedenen Systemen installiert) eine solche API?
  2. Wenn ja, bietet die Systemdokumentation Ressourcen auch etwas ähnliches? (Mit dem kann ich eine Funktion von einem Haskell Code auswählen und dann schauen, um die Art Unterschrift, Nutzungsinformationen zu sehen und so weiter.)
+0

Nicht was Sie gefragt haben, aber was ist mit der Verwendung von 'runhaskell Test.hs' als Haskell-Skript? –

Antwort

2

Sie benötigen, können die Endbenutzer installieren entweder BuildWrapper oder scion und dann in Wechselwirkung treten mit denen programmatisch. Wenn Sie nicht möchten, dass Benutzer sie installieren, können Sie ihren Code mit Ihrer ausführbaren Datei bündeln und die ausführbare Datei vom System GHC aufrufen lassen, um sie selbst zu erstellen.

Verwandte Themen