Praktykuję od LJAAH.nie ma towarzyszącego wiązania - co to znaczy? Jak to działa?
plik phoneBook.hs zawiera następujący kod:
phoneBook :: [(String, String)]
Starając się skompilować powyższy kod otrzymuję następujący błąd:
*Main> :load "/home/optimight/phoneBook.hs" [1 of 1] Compiling Main (/home/optimight/phoneBook.hs, interpreted)
/home/optimight/phoneBook.hs:1:1: The type signature for `phoneBook' lacks an accompanying binding Failed, modules loaded: none.
Pytanie dodany po odebraniu Brano i późniejszego komentarzu do ta odpowiedź: w jaki sposób zapewniamy implementację wyżej wymienionego typu podpisu?
Jeśli dodać to:
type phoneBook = [(String, String)]
otrzymuję następujący błąd:
Prelude> :load "/home/optimight/phoneBook.hs" [1 of 1] Compiling Main (/home/optimight/phoneBook.hs, interpreted)
/home/optimight/phoneBook.hs:2:6: Malformed head of type or class declaration: phoneBook Failed, modules loaded: none
Dlaczego przeprowadzenie egzaminu jest obowiązkowe? Jeśli tworzę aplikację haskell i jeśli jest nią telefon, nigdy nie zbiorę w niej żadnych danych. Będzie to pusta książka telefoniczna. – Optimight
W jaki sposób zapewniamy implementację? – Optimight
@Optymetr np. 'phoneBook = []'. Niezależnie od tego, jaką wartość tutaj wybierzesz, będzie to wartość podczas całego wykonywania programu. Zamiast definiować wartość najwyższego poziomu, 'phoneBook' powinien być prawdopodobnie parametrem funkcji lub (częścią) stanu w funkcji" State "lub" StateT ". – dave4420