2013-02-17 50 views
12

Wiem, że interfejs API GHC zapewnia mi użycie as a library, dostęp do funkcji kompilatora, takich jak analizowanie, uruchamianie i przekształcanie kodów Haskell. Program Haskell, który importuje GHC jako pakiet, po skompilowaniu będzie zawierał swoją (częściową) kopię GHC, dzięki czemu będzie mógł być wykonywany nawet w systemach bez zainstalowanego GHC.Podłączanie do systemu GHC

Ale co jeśli nie chcę włączyć GHC do programu, a zamiast tego użyć tego, który jest zainstalowany w systemie?

Tak więc, gdy program otrzyma kod Haskella, użyje systemu GHC, aby go zrozumieć i, jeśli to konieczne, zaimportować wszystkie pakiety i biblioteki (te, które są dostępne w GHCi).

  1. Czy GHC (zainstalowany na różnych systemach) zapewnia takie API?
  2. Jeśli tak, to czy zasoby dokumentacji systemu zapewniają coś podobnego? (Z którym mogę wybrać funkcję z kodu Haskell, a następnie spojrzeć w górę, aby zobaczyć podpis typu, informacje o użytkowaniu i tak dalej.)
+0

Nie to, o co prosiłeś, ale co z użyciem 'runhaskell Test.hs' jako skryptu haskell? –

Odpowiedz

2

Można wymagać zainstalowania użytkownik końcowy albo BuildWrapper lub scion a następnie oddziałują z tymi programowo. Jeśli nie chcesz zmuszać użytkowników do ich instalowania, możesz spakować swój kod do pliku wykonywalnego i zlecić wywołanie systemu GHC, aby sam je zbudować.

Powiązane problemy