Po raz pierwszy bawię się z GHCi i mam problemy z pisaniem funkcji wieloliniowych. Mój kod wygląda następująco:Jak używać wielu klauzul where w GHCi?
Prelude> :{
Prelude| let diffSquares lst = abs $ squareOfSums lst - sumOfSquares lst
Prelude| where
Prelude| squareOfSums lst = (fst (sumsAndSquares lst))^2
Prelude| sumOfSquares lst = snd (sumsAndSquares lst)
Prelude| sumsAndSquares = foldl (\(sms,sqrs) x -> (sms+x,sqrs+x^2)) (0,0)
Prelude| :}
To daje następujący błąd:
<interactive>:1:142: parse error on input `='
Czy ktoś łaskawie mi punkt w kierunku tego, co mi brakuje?
Świetnie, wielkie dzięki. –
sprytny, świetna odpowiedź. Nigdy tego nie widziałem ani nie używałem. –
Nie działa od wersji GHC 7.6.3 w pakietach Ubuntu: analiza błędu na wejściu "where" –