Pytania otagowane jako haskell

Haskell to funkcjonalny język programowania z silnym typowaniem statycznym, leniwą oceną, szeroką obsługą równoległości i współbieżności oraz unikalnymi możliwościami abstrakcyjnymi.

1
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 jest ograniczenie, można zobaczyć trochę więcej …
156 haskell  ghc 

7
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 jest lepsze”. Wydaje mi …

6
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 techniczna.
147 haskell  ghc 

1
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 Text Committee name Text CommitteePerson personId PersonId committeeId CommitteeId Mogę łatwo utworzyć …
144 sql  list  haskell  esqueleto 

2
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: containers-0.5.6.2:Data.Map.Base.Map || [GHC.Types.Char] || ([(integer-gmp-1.0.0.0:GHC.Integer.Type.Integer, || integer-gmp-1.0.0.0:GHC.Integer.Type.Integer)], || containers-0.5.6.2:Data.Set.Base.Set || integer-gmp-1.0.0.0:GHC.Integer.Type.Integer) || …
143 haskell  ghc  ghc-mod 

1
Właściwe użycie interfejsu API HsOpenSSL do implementacji serwera TLS
Próbuję dowiedzieć się, jak prawidłowo używać API OpenSSL.Session w kontekście współbieżnym Załóżmy na przykład, że chcę zaimplementować stunnel-style ssl-wrapper, spodziewałbym się , że będę miał następującą podstawową strukturę szkieletu, która implementuje naiwnośćfull-duplex tcp-port-forwarder: runProxy :: PortID -> AddrInfo -> IO () runProxy localPort@(PortNumber lpn) serverAddrInfo = do listener <- listenOn …
141 haskell  openssl  ssl 

5
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 -> Int Próbowałem …
139 haskell  ghci 


1
Jak wysłać plik wykonywalny z Language.Haskell.Interpreter?
Miałem nadzieję, że wykorzystam interpreter Haskell, hintaby móc pisać wtyczki w Haskell do wykorzystania w moim programie. Nie chcę wysyłać całej platformy Haskell dla moich plików wykonywalnych. Zwykle pliki wykonywalne Haskella są dość niezależne. Na przykład usunięcie PATHpliku nie powoduje problemu: $ PATH=. Hello Hello world Jednak prosty program testowy …

8
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 Fibonacciego do wymaganego n. Ale w tym przypadku dla danego n …




5
Skrócenie czasu przerwy w usuwaniu elementów bezużytecznych w programie Haskell
Opracowujemy program, który odbiera i przekazuje dalej „wiadomości”, zachowując tymczasową historię tych wiadomości, aby na żądanie mógł przekazać historię wiadomości. Wiadomości są identyfikowane numerycznie, zwykle mają rozmiar około 1 kilobajta i musimy przechowywać setki tysięcy takich wiadomości. Chcemy zoptymalizować ten program pod kątem opóźnienia: czas między wysłaniem a odebraniem wiadomości …

4
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: …
130 haskell 

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.