2016-12-24 4 views
0

Zuvor ghc Version < 8 auf Linux und wenn ich ein Skript in einer Datei hatte, sagen file.hs, wieAusführen eines Skripts (kein Modul) mit ghc

let x = "hello" 
putStrLn x 
double x=2*x 
print $ double 2 
double 3 

dann war es möglich, sie habe ich zu laufen und ich verwende ghc 8.0.1 auf Windows und das funktioniert nicht mehr bekommen die Ausgänge in einem Terminal von

ghc -e ':script file.hs' 

Jetzt tun. Gibt es eine andere Art und Weise ?

Ich kann die Ausgänge erhalten, wenn ich GHCi öffnen und :script file.hs eingeben. Aber ich möchte diese Ausgänge im Terminal.

Ich weiß nicht, ob dies auf das Upgrade von ghc oder auf das Betriebssystem zurückzuführen ist.

+0

Sie Stapel, es zu tun verwenden können: https://docs.haskellstack.org/en/stable/GUIDE/#script-interpreter – Sibi

+0

@Sibi 'Stapeldatei .hs' funktioniert nicht. Wenn ich es gut verstehe, erfordert es einige Optionen in der ersten Zeile der Datei. Und das Beispiel in Ihrem Link ist eher ein "Modul", nein? –

+0

'ghc -e' arbeitet für mich auf GHC 8.0.1.20161117, mit dem genauen Befehl von hier kopiert –

Antwort

1

Das mit doppelten Anführungszeichen funktioniert:

ghc -e ":script file.hs" 
+0

Die Art der verwendeten Zitate sollte hier keinen Unterschied machen. – chepner

+0

@chepner Es tut, unter Windows. –

+0

@chepner Sollte ich einen Screenshot von meinem Terminal machen, damit Sie Ihre Downvote entfernen? .. –

Verwandte Themen