2013-06-03 9 views
6

Mam problem ze skompilowaniem programu Haskell, który został napisany kilka lat temu dla wcześniejszej wersji kompilatora Haskell z Glasgow.Problemy z getArgs w starym kodzie Haskella

Miał następujące cztery wiersze, na które skarży się bieżący kompilator.

import Monad 
import List 
import IO 
import System 

Wymieniłem trzy pierwsze, po zapoznaniu się z dokumentacją biblioteki z:

import Control.Monad 
import Data.List 
import System.IO 

Ale ten ostatni daje mi kłopoty. Jeśli uruchomić kompilator z tych trzech linii zamiast z czterech poprzednich, otrzymuję komunikat o błędzie dotycząca getArgs

cnf1.hs: 657: 13: Nie w zakresie: `

znalazłem getArgs' getArgs w docs biblioteki, ale wydaje się, że nie jest ona dostępna domyślnie i muszę jakoś (jak ??) użyj haskell98-2.0.0.1 Legacy

Jak mogę przekonać kompilator patrzeć w haskell98 miejsce dla getArgs, lub jaki jest obecnie akceptowany sposób robienia tego samego, co getArgs.

FWIW, Jestem amatorem klasy w Haskell. Jestem znacznie bardziej w domu z C & C++.

Odpowiedz

16

getArgs został przeniesiony do System.Environment. Zaimportuj to i powinieneś być w porządku.

Nawiasem mówiąc, można użyć funkcji Hoogle, aby znaleźć funkcje.

+0

Dzięki, znalazłem to w System.Environment. Rozwiązany. – user2446884