haskell

Co dokładnie jest () w Haskell?

Czytam Learn You a Haskell , a w rozdziałach monad wydaje mi się, że () jest traktowany jako rodzaj "null" dla każdego typu. ... pem samym w sobie. Jestem zdezorientowany co do tego, jak pasuje do języka i jak wydaje się być w stanie wytrzymać każdy typ.

Typ Haskell vs. newtype w odniesieniu do bezpieczeństwa typu

Wiem, że newtype jest częściej porównywany do data w Haskell, ale przedstawiam to porównanie bardziej z punktu widzenia proje ... ycia newtype w tym świetle. Oczywiście wielu programistów robi rzeczy inaczej, ale czy jest to w ogóle powszechne w haskell?

Co to są "wzory n+k" i dlaczego są one zakazane z Haskell 2010?

Czytając wpis Wikipedii Na Haskell 2010 natknąłem się na to: -- using only prefix notation and n+k-patterns (no longer all ... niej nie tak. Czy ktoś może wyjaśnić, w czym tkwi problem? Dlaczego te wzory n + k nie są bardziej dozwolone w Haskell 2010?

Lista podwójnie powiązana w czysto funkcjonalnym języku programowania

Jak zrobić podwójnie połączone listy w czystym funkcjonalnym języku? To znaczy, coś jak Haskell, gdzie nie jesteś w Monadzie, więc nie masz mutacji. Czy to możliwe? (Pojedynczo powiązana lista jest oczywiście dość łatwa).

Cabal nie instaluje zależności, gdy potrzebne są biblioteki profilowania?

Chcę skompilować mój program z profilowaniem, więc uruchamiam: $ cabal configure --enable-executable-profiling ... $ cabal ... zależności.. Czy jest na to lepszy sposób? i. E zrobić cabal zrobić działa samodzielnie jak w przypadku zwykłych bibliotek?

Jak przetłumaczyć klasę typu Haskell na F#?

Próbuję przetłumaczyć strzałki z biblioteki Haskell core na F# (myślę, że jest to dobre ćwiczenie, aby lepiej zrozumieć Strza ... F#. Czy któraś z moich prób była bliska? Czy któraś z nich jest "tak dobra, jak się da" i to musi być wystarczająco dobre?

Dokumentacja STArray dla początkujących i pytania związane z stanem / ST

Trudno mi zrozumieć STArray z Dokumentacji i innych poradników / dyskusji, które znalazłem za pośrednictwem Google. Poniżej m ... a State? jaka jest różnica między STArray a IOArray, jeśli ST i {[12] } są przeznaczone do użytku "wewnętrznego"? Dziękuję!!

Jak doświadczeni programiści Haskell podchodzą do lenistwa w czasie* projektowania*?

Jestem średnio zaawansowanym programistą Haskell z ogromnym doświadczeniem w językach FP i non-FP. Większość mojego kodu Hask ... projektowe zazwyczaj omijają problemy z pamięcią i spodziewane zużycie pamięci uzyskuje się bardzo wcześnie w cyklu rozwoju?

Czy Haskell jest naprawdę czysty (jest każdy język, który zajmuje się wejściem i wyjściem poza systemem)?

Po dotknięciu Monad w odniesieniu do programowania funkcyjnego, czy funkcja ta rzeczywiście czyni język czystym, czy jest to ... ędziecie zadowoleni, wiedząc jednak, że podoba mi się idea niezmienności, która jest o wiele ważniejsza w stawkach czystości.

Kiedy chciałbym użyć darmowego wzoru Monad + Interpreter?

Pracuję nad projektem, który obejmuje między innymi warstwę dostępu do bazy danych. Całkiem normalne, naprawdę. W poprzedni ... interpretera. Lub... Czy rzeczywiście zyskuję coś innego dzięki darmowemu wzorcowi Monad + Interpreter? Jeśli tak, to co?

Jak zmniejszyć zużycie pamięci w aplikacji Haskell?

Jestem nowy w programowaniu funkcyjnym, a teraz uczyć się Haskell. Jako ćwiczenie postanowiłem wdrożyć metodę Eulera dla równ ... ? Zasadniczo, aby zadeklarować, że muszę przetwarzaj całą strukturę danych a nie tylko jego fragmenty na żądanie.

Strzałki są dokładnie równoważne funkcjom aplikacyjnym?

Według słynnego pisma idiomy są nieświadome, strzały skrupulatne, monady rozwiązłe, moc ekspresyjna strzałek (bez dodatkowych ... ) => Arrow (Applicarrow f) where arr = Applicarrow . pure first (Applicarrow f) = Applicarrow $ first <$> f

Jak skomponować " nie " z funkcją arbitralnej arytmetyki?

Gdy mam jakąś funkcję typu f :: (Ord a) => a -> a -> Bool f a b = a > b Chciałbym zrobić funkcję, która zawij ... ą parametrów np. t -> Bool t -> t1 -> Bool t -> t1 -> t2 -> Bool t -> t1 -> t2 -> t3 -> Bool

Jakie są pary funkcyjne adjoint odpowiadające wspólnym monadom w Haskell?

W teorii kategorii monada może być skonstruowana z dwóch funkcji pomocniczych. W szczególności, jeśli C i D są kategoriami, a ... e {[5] } jest odwrotna do G (w szczególności, można wziąć F = Identity i G = Identity). Czy ktoś może rzucić trochę światła?

Czym dokładnie jest rodzaj " * " w Haskell?

W Haskell wyrażenia (poziom wartości) są klasyfikowane do typów , które można zapisać za pomocą :: w ten sposób: 3 :: Int, " ... *? A jak to się odnosi do innych bardziej złożonych rodzajów? Czy rozszerzenia DataKinds lub PolyKinds zmieniają odpowiedź?

Wyjaśnienie praw Monad

Z łagodne wprowadzenie do Haskell , istnieją następujące prawa monad. Czy ktoś może intuicyjnie wyjaśnić, co oznaczają? retu ... ormalną w funkcję monadyczną. Nie mam wytłumaczenia dla tego prawa. Mówi to jednak, że monada musi być "prawie asocjacyjna".

Język programowania dla równoległości funkcjonalnej: F # vs Haskell

Programowanie funkcyjne ma niezmienne struktury danych i nie ma skutków ubocznych, które są z natury odpowiednie do programow ... pamięci podręcznej. Będę trzymać się F#, i myślę, że te odpowiedzi są pomocne dla mnie do badania funkcjonalnej paralelizmu.

Gdzie mogę nauczyć się Haskell advanced? [zamknięte]

W komentarzu do jednej z moich odpowiedzi, więc użytkownik sdcwc zasadniczo wskazał, że następujący kod: comb 0 = [[]] co ... jących Rodzaj replicateM. Chcę nauczyć się myśleć w monadach i efektywnie z nich korzystać, monadyczne "wzory", jeśli wolisz.

Scala: różnica między typeklasą a ADT?

Jakie są różnice między typowymi i abstrakcyjnymi typami danych? Zdaję sobie sprawę, że jest to podstawowa rzecz dla program ... klasy są "otwarte", a ADT są"zamknięte". Pomocne byłoby również porównywanie i kontrastowanie typów z typami strukturalnymi.

Ciekawy o problemach z wydajnością

Czytałem, że tabele hash w Haskell miały problemy z wydajnością (na Haskell-Cafe w 2006 i Flying Frog Consultancy ' s blog w ... mnie martwiło. To było rok temu, jaki jest teraz status (czerwiec 2010)? Czy problem z tabelą hash został naprawiony w GHC?