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.

5
Kiedy są przydatne typy wyższego rodzaju?
Od jakiegoś czasu zajmuję się programowaniem w języku F # i podoba mi się to. Jednak jedno słowo, które wiem, że nie istnieje w F #, to typy wyższego rodzaju. Przeczytałem materiały o typach wyższego rzędu i myślę, że rozumiem ich definicję. Po prostu nie jestem pewien, dlaczego są przydatne. …


1
Dlaczego ten kod Haskell działa wolniej z -O?
Ten fragment kodu Haskella działa znacznie wolniej -O, ale nie -Opowinien być niebezpieczny . Czy ktoś może mi powiedzieć, co się stało? Jeśli ma to znaczenie, jest to próba rozwiązania tego problemu i wykorzystuje wyszukiwanie binarne i trwałe drzewo segmentów: import Control.Monad import Data.Array data Node = Leaf Int -- …

2
Jaki jest logiczny odpowiednik intuicjonistycznej teorii typów?
Niedawno ukończyłem kurs uniwersytecki, na którym występowali Haskell i Agda (zależny funkcjonalny język programowania typizowanego) i zastanawiałem się, czy jest możliwe zastąpienie w nich rachunku lambda logiką kombinacyjną. W przypadku Haskella wydaje się to możliwe przy użyciu kombinatorów S i K, dzięki czemu jest to bezcelowe. Zastanawiałem się, jaki jest …

4
Jak używać poprawki i jak to działa?
Byłem trochę zdezorientowany dokumentacją fix(chociaż myślę, że rozumiem teraz, co ma robić), więc spojrzałem na kod źródłowy. To mnie bardziej zdezorientowało: fix :: (a -> a) -> a fix f = let x = f x in x Jak dokładnie zwraca to stały punkt? Postanowiłem wypróbować to w linii poleceń: …



1
Jak uzyskać esqueleto, aby wygenerował dla mnie ciąg SQL?
Jak uzyskać esqueleto do generowania ciągu SQL z frominstrukcji? Dokumentacja toRawSqlmówi, że „możesz po prostu włączyć trwałe logowanie zapytań”. Wypróbowałem wszystkie możliwe formy tego MonadLogger, co mogłem zrozumieć, ale nigdy nie wydrukowałem żadnego SQL. Ta sama dokumentacja mówi również, że „ręczne użycie tej funkcji ... jest możliwe, ale żmudne”. Jednak …

6
Osierocone instancje w Haskell
Podczas kompilowania mojej aplikacji Haskell z -Wallopcją GHC narzeka na osierocone instancje, na przykład: Publisher.hs:45:9: Warning: orphan instance: instance ToSElem Result Klasa typu ToSElemnie jest moja, jest zdefiniowana przez HStringTemplate . Teraz wiem, jak to naprawić (przenieść deklarację instancji do modułu, w którym zadeklarowano Wynik) i wiem, dlaczego GHC wolałby …
86 haskell  ghc  typeclass 

17
Jakiego języka nauczyć się po Haskellu? [Zamknięte]
W obecnym stanie to pytanie nie pasuje do naszego formatu pytań i odpowiedzi. Oczekujemy, że odpowiedzi będą poparte faktami, referencjami lub ekspertyzą, ale to pytanie prawdopodobnie będzie wymagało debaty, argumentów, ankiet lub rozszerzonej dyskusji. Jeśli uważasz, że to pytanie można poprawić i prawdopodobnie ponownie otworzyć, odwiedź centrum pomocy, aby uzyskać …


1
Rozróżnienie między typeklasami MonadPlus, Alternative i Monoid?
Średnia Biblioteka Haskell typeclasses MonadPlus, Alternativei Monoidkażdy zapewniają dwie metody z zasadniczo tą samą składnię: Pusta wartość: mzero, empty, lub mempty. Operator a -> a -> a, który łączy wartości w typeclass razem: mplus, <|>, lub mappend. Wszystkie trzy określają te prawa, których powinny przestrzegać instancje: mempty `mappend` x = …


3
Haskell: dlaczego konwencja nazywania funkcji pomocniczej „go”?
goDużo widzę czytając materiał lub źródło Haskella, ale nigdy nie czułem się z tym komfortowo - (myślę, że ma to negatywne konotację „goto”). Zacząłem uczyć się języka Haskell z LYAH i wtedy wychwyciłem tendencję do używania acci steppisania fałd. Skąd się wzięła konwencja pisania go? A co najważniejsze, co dokładnie …


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.