Jak uruchomić plik haskell w trybie interpretacji
Powiedziano mi, że możesz interpretować pliki Haskella (co, jak zakładam, oznacza, że będą działać jak Ruby/Python/Perl). Nie można znaleźć opcji wiersza poleceń w ghc, aby to zrobić. Zawsze chce skompilować mój plik. Przyjrzałam się też ghci, ale zawsze mnie to rzuca w przepaść.
W zasadzie chcę po prostu zrobić ghc -i MyFile.hs
(gdzie-i jest zmyśloną flagą, którą udaję w trybie interpretacyjnym) i wykonać ją, aby uzyskać szybką opinię podczas wypróbowywania pomysłów i nauka.
4 answers
$ runhaskell MyFile.hs
Alternatywnie, runghc
(to to samo). ghci MyFile.hs
rozpocznie również interaktywną sesję REPL z załadowanym MyFile.hs
, ale jeśli chcesz uruchomić główny program, to runhaskell
jest dobrym rozwiÄ…zaniem.
To prawdopodobnie dobry pomysł, aby nabrać nawyku testowania części programu jako izolowanych jednostek w GHCi, zamiast uruchamiać całość za każdym razem, ale oczywiście dla krótszych skryptów jest najprostsze i najłatwiejsze po prostu uruchomić całość.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-12-30 05:11:05
Możesz mieć taki skrypt:
#!/usr/bin/env runhaskell
main = putStrLn "hello world"
Po utworzeniu pliku wykonywalnego (ie chmod +x haskell_script
), można go uruchomić jak każdy inny skrypt powłoki.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-12-30 05:15:31
Otwórz interpreter GHC, uruchamiając ghci
w terminalu, a następnie Wczytaj wpisanie pliku :load example.hs
. Więcej szczegółów w tym link .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-12-30 05:09:11
Aby uruchomić kod zapisany w pliku, powiedzmy myfile.txt
, zawierający proste linie kodu działające w interpreterze GHC, takie jak:
let a = 0 in a:[1,2]
let x = [1,2] in x ++ [3,4]
Możesz zrobić:
ghc -e ':script myfile.txt'
Edit
W systemie Windows wymagane są podwójne cudzysłowy:
ghc -e ":script myfile.txt"
Zamiast tego można również otworzyć GHCi
i zrobić :script myfile.txt
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-24 16:15:35