On m'a dit que vous pouvez interpréter les fichiers haskell (ce qui, je suppose, signifie qu'ils fonctionneront comme Ruby/Python/Perl). Cependant, vous ne pouvez pas trouver l'option de ligne de commande sur ghc. Il veut toujours compiler mon fichier. J'ai également regardé ghci, mais cela me jette toujours dans une réplique.
Je veux simplement faire ghc -i MyFile.hs
(où -i est un drapeau composé que je fais semblant corréler au mode interprété) et le faire exécuter afin que je puisse obtenir un retour rapide pendant que j'essaye des idées et que j'apprends.
$ runhaskell MyFile.hs
Alternativement, runghc
(c'est la même chose). ghci MyFile.hs
lancera également une session interactive REPL avec MyFile.hs
chargé, mais si vous voulez exécuter un programme principal, runhaskell
est le chemin à parcourir.
C'est probablement une bonne idée de prendre l'habitude de tester des parties de votre programme en tant qu'unités isolées dans GHCi plutôt que d'exécuter le tout à chaque fois, mais évidemment pour des scripts plus courts, il est plus simple et plus facile de simplement exécuter le tout.
Vous pouvez avoir un script comme celui-ci:
#!/usr/bin/env runhaskell
main = putStrLn "hello world"
Après avoir rendu le fichier exécutable (c'est-à-dire chmod +x haskell_script
), vous pouvez l'exécuter comme n'importe quel autre script Shell.
Ouvrez l'interpréteur GHC en exécutant ghci
dans un terminal, puis chargez un fichier en tapant :load example.hs
. Plus de détails dans ce lien .
Pour exécuter le code écrit dans un fichier, dites myfile.txt
, contenant de simples lignes de code qui fonctionnent dans l'interpréteur GHC, comme:
let a = 0 in a:[1,2]
let x = [1,2] in x ++ [3,4]
tu peux faire:
ghc -e ':script myfile.txt'
Sous Windows, des guillemets doubles sont requis:
ghc -e ":script myfile.txt"
Au lieu de cela, on peut également ouvrir GHCi
et faire :script myfile.txt
.