Mir wurde gesagt, dass Sie Haskell-Dateien interpretieren können (was meiner Meinung nach bedeutet, dass sie wie Ruby / Python / Perl funktionieren). Ich kann die Befehlszeilenoption auf GHC dafür jedoch nicht finden. Es möchte immer meine Datei kompilieren. Ich habe mir auch GHCi angesehen, aber es bringt mich immer in eine Antwort.
Ich möchte im Grunde nur tun ghc -i MyFile.hs
(wobei -i ein erfundenes Flag ist, das ich als Korrelate für den interpretierten Modus vortäusche) und es ausführen lassen, damit ich schnelles Feedback erhalten kann, während ich Ideen ausprobiere und lerne.
haskell
ghc
ghci
interpreted-language
Joshua Cheek
quelle
quelle
main
Aktion der obersten Ebene weiterhin ausführen,main
indem:main
Sie Folgendes eingeben (oder verwenden, wenn Sie Befehlszeilenargumente übergeben müssen).Antworten:
$ runhaskell MyFile.hs
Alternativ
runghc
(sie sind das gleiche).ghci MyFile.hs
startet auch eine interaktive REPL-Sitzung mitMyFile.hs
geladen, aber wenn Sie ein Hauptprogramm ausführen möchten,runhaskell
ist der richtige Weg.Es ist wahrscheinlich eine gute Idee, sich daran zu gewöhnen, Teile Ihres Programms als isolierte Einheiten in GHCi zu testen, anstatt jedes Mal das Ganze auszuführen, aber für kürzere Skripte ist es natürlich am einfachsten und einfachsten, nur das Ganze auszuführen.
quelle
runhaskell
ist nicht auf meinem Weg, sondernrunghc
war. (also +1 für die Erwähnungrunghc
)Sie können ein Skript wie dieses haben:
#!/usr/bin/env runhaskell main = putStrLn "hello world"
Nachdem Sie die Datei ausführbar gemacht haben (dh
chmod +x haskell_script
), können Sie sie wie jedes andere Shell-Skript ausführen.quelle
()
, automatisch von ausgegebenrunhaskell
, genau wie in GHCi. Das passiert nicht mit einer tatsächlichen ausführbaren Datei, die normalerweise mit kompiliert wirdghc
.Öffnen Sie den GHC-Interpreter, indem Sie ihn
ghci
in einem Terminal ausführen, und laden Sie dann eine Dateitypisierung:load example.hs
. Weitere Details unter diesem Link .quelle
So führen Sie den in eine Datei geschriebenen Code aus
myfile.txt
, der beispielsweise einfache Codezeilen enthält, die im GHC-Interpreter funktionieren, wie z.let a = 0 in a:[1,2] let x = [1,2] in x ++ [3,4]
du kannst tun:
ghc -e ':script myfile.txt'
Bearbeiten
Unter Windows sind doppelte Anführungszeichen erforderlich:
ghc -e ":script myfile.txt"
Stattdessen kann man auch öffnen
GHCi
und tun:script myfile.txt
.quelle