Pytania oznaczone «haskell»

161
Jak zdefiniować funkcję w ghci w wielu wierszach?

Próbuję zdefiniować dowolną prostą funkcję, która obejmuje wiele linii w ghci, weźmy jako przykład: let abs n | n >= 0 = n | otherwise = -n Do tej pory próbowałem nacisnąć Enter po pierwszej linii: Prelude> let abs n | n >= 0 = n Prelude> | otherwise = -n <interactive>:1:0:...

161
Dlaczego nie zostać wpisanym zależnie?

Widziałem kilka źródeł powtarzających opinię, że „Haskell stopniowo staje się językiem opartym na typach zależnych”. Wydaje się, że implikacja jest taka, że ​​przy coraz większej liczbie rozszerzeń języka Haskell dryfuje w tym ogólnym kierunku, ale jeszcze go tam nie ma. Zasadniczo chciałbym...

156
Specjalizacja z ograniczeniami

Mam problemy ze skonfigurowaniem GHC do specjalizacji funkcji z ograniczeniem klasy. Mam minimalny przykład mój problem tutaj: Foo.hs i Main.hs . Te dwa pliki są kompilowane (GHC 7.6.2 ghc -O3 Main) i uruchamiane. UWAGA: Foo.hs jest naprawdę okrojona. Jeśli chcesz zobaczyć, dlatego też konieczne...

155
Implikacje foldr vs. foldl (lub foldl ')

Po pierwsze, Real World Haskell , który czytam, mówi, żeby nigdy nie używać foldli zamiast tego używać foldl'. Więc ufam temu. Ale jestem zamglona, gdy w użyciu foldrw porównaniu foldl'. Chociaż widzę strukturę ich działania inaczej ułożoną przede mną, jestem zbyt głupi, by zrozumieć, kiedy „co...

147
Dlaczego GHC jest tak duży / duży?

Czy jest prosta odpowiedź: dlaczego GHC jest tak duży? OCaml: 2 MB Python: 15 MB SBCL: 9 MB OpenJRE - 26 MB GHC: 113 MB Nie interesuje się ewangelizacją: „Dlaczego nie powinienem przejmować się rozmiarem, jeśli Haskell jest właściwym narzędziem”; to jest kwestia...

144
Obsługa typów list za pomocą Esqueleto

Mam typy danych zdefiniowane jako: data ComitteeView = CommitteeView { committeeId :: CommitteeId , committeeMembers :: [Person] } data CommitteesView = CommitteesView { committeeView :: [CommitteeView] } Teraz, w obecnej formie, mam model Trwały zdefiniowany jako: Person name...

143
Czy GHC-mod musi używać pełnych nazw typów?

Próbuję użyć ghc-modwtyczki vim do sprawdzania typu / składni itp. Jednak odkryłem, że ghc-modzawsze używa pełnych ścieżek typów w komunikatach o błędach, na przykład: test.hs|71 col 13 error| Couldn't match type ‘Data.Text.Internal.Text’ || with ‘[GHC.Types.Char]’ || Expected type:...

139
Polecenia wieloliniowe w GHCi

Mam problem z wprowadzaniem poleceń wielowierszowych w ghci. Poniższy dwuwierszowy kod działa z pliku: addTwo :: Int -> Int -> Int addTwo x y = x + y Ale kiedy wchodzę w ghci, pojawia się błąd: <interactive>:1:1: error: Variable not in scope: addTwo :: Int -> Int ->...

136
Zapamiętywanie w Haskell?

Wszelkie wskazówki, jak skutecznie rozwiązać następującą funkcję w Haskellu dla dużych liczb (n > 108) f(n) = max(n, f(n/2) + f(n/3) + f(n/4)) Widziałem przykłady zapamiętywania w Haskellu w celu rozwiązania liczb Fibonacciego, które obejmowały (leniwie) obliczanie wszystkich liczb...

130
Różnica między „mod” i „rem” w Haskell

Jaka jest dokładnie różnica między modiw remHaskell? Wydaje się, że oba dają te same wyniki *Main> mod 2 3 2 *Main> rem 2 3 2 *Main> mod 10 5 0 *Main> rem 10 5 0 *Main> mod 1 0 *** Exception: divide by zero *Main> rem 1 0 *** Exception: divide by zero *Main> mod 1...