haskell

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

Jest prosta odpowiedź: dlaczego GHC jest tak duży? OCaml: 2MB Python: 15MB SBCL: 9MB OpenJRE - 26MB GHC: 113MB Ni ... ewangelizacja "dlaczego nie powinienem dbać o rozmiar, jeśli Haskell jest właściwym narzędziem"; jest to pytanie techniczne.

Jakie są różnice i podobieństwa systemów typu Scala i Haskell?

Jak wyjaśnić system typów Scali ekspertowi Haskell? Jakie przykłady pokazują zalety Scali? Jak wyjaśnić system typów Haskella zaawansowanemu praktykującemu Scala? Co można zrobić w Haskell, czego nie można zrobić w Scali?

Algebraicznie interpretujący polimorfizm

Rozumiem więc podstawową interpretację algebraiczną typów: Either a b ~ a + b (a, b) ~ a * b a -> b ~ b^a () ~ 1 Void ... )^a = c^(b * a) Ale nie rozumiem równości algebraicznej, która jest analogiczna do: (forall r . (a -> r) -> r) ~ a

Czy Haskell naprawdę jest językiem czysto funkcjonalnym, biorąc pod uwagę unsafePerformIO?

Haskell jest ogólnie określany jako przykład języka czysto funkcjonalnego. Jak można to uzasadnić, biorąc pod uwagę istnienie ... Edit: myślałem, że "czysto funkcjonalny" oznacza, że nie można wprowadzić nieczystego kodu do funkcjonalnej części programu.

Czy możliwe jest zaprogramowanie i sprawdzenie niezmienników w Haskell?

Kiedy piszę algorytm zazwyczaj zapisuję niezmienniki w komentarzach. Na przykład, jedna funkcja może zwrócić uporządkowaną l ... e wykorzystać je do optymalizacji programu. Czy więc możliwe jest zapisanie niezmienników i sprawdzenie ich przez kompilator?

Jakieś konkursy Online Haskell lub zestawy problemów? [zamknięte]

Czy znasz jakieś internetowe zestawy problemów lub konkursy, które akceptują rozwiązania w Haskell? Wiem tylko El sędzia , ale niestety ma pewne problemy z ghc, więc każdy problem Haskell jest odrzucany z" limit pamięci " rozdzielczości.

Monada w terminach nieprogramowych [duplikat]

Możliwy duplikat:co to jest monada? Jak opisałbyś monadę w terminach pozaprogramowych? Czy istnieje jakieś pojęcie / ... (poza wszelkim programowaniem, nie tylko FP), które można by powiedzieć, że działa lub jest monad-podobne w znaczący sposób?

Realne wykorzystanie GADT

Czy Jest jakiś dobry zasób na temat rzeczywistego wykorzystania uogólnionych algebraicznych typów danych? Przykład podany w Haskell wikibook jest zbyt krótki, aby dać mi wgląd w realne możliwości GADT. Thanks

Jak podzielić ciąg w Haskell?

Czy istnieje standardowy sposób na podzielenie łańcucha w Haskell? lines i words działa świetnie od spacji lub nowej linii, ... ówiąc dokładniej, szukam czegoś, gdzie split "," "my,comma,separated,list" zwraca ["my","comma","separated","list"] Dzięki.

Co oznacza symbol " @ " w odniesieniu do list w Haskell?

Natknąłem się na fragment kodu Haskella, który wygląda tak: ps@(p:pt) Co oznacza symbol @ w tym kontekście? Nie mogę znal ... w Google), a funkcji nie mogę znaleźć w dokumentacji Preludium, więc wyobrażam sobie, że to musi być jakiś cukier składniowy.

Jaki jest najlepszy sposób na testowanie i interakcję z funkcjami wewnętrznymi zdefiniowanymi wewnątrz funkcji najwyższego poziomu?

Kiedy programuję w Javascript, uważam, że jest to niezwykle wygodne, aby móc używać debuggera do zatrzymania wykonania progr ... rowanych na najwyższym poziomie? Jakie jest" standardowe " podejście do pracy i debugowania wewnętrznych funkcji i wartości?

Jak porównać dwie funkcje równoważności, jak w (λx.2 * x) = = (λx.x+x)?

Czy istnieje sposób na porównanie dwóch funkcji dla równości? Na przykład, (λx.2*x) == (λx.x+x) powinno zwracać true, ponieważ są one oczywiście równoważne.

Z której Biblioteki Haskell XML korzystać?

Widzę, że istnieje kilka bibliotek przetwarzania XML w Haskell. HaXml wydaje się być najpopularniejszym (według ) HXT ... cencjach: BSD lub MIT: hexpat, hxt, libxml, tagsoup, xml LGPL: HaXml GPLv2: GPLv3: libxml-sax, tagchup, tagi-ht

Czym jest superkompilacja?

Krótko i słodko: widziałem kilka źródeł mówiących o"superkompilacji". Ale nie znalazłem jeszcze jednego dokumentu w Interneci ... go, że wydaje się to dość proste dla kogokolwiek, że nie jest to nawet warte wyjaśnienia. Czy ktoś wie co to właściwie jest?

Moje Pakiety cabal są FUBAR; Jak mogę je wyczyścić i zacząć od nowa?

Zapomniałem włączyć building libs do profilowania w moim ~/.cabal/config przed zainstalowaniem kilku pakietów na nowej maszyn ... o zostało zepsute (naturalnie). Myślę, że lepiej wykorzystać mój czas na oczyszczenie wszystkiego. Jak to zrobić poprawnie?

Jak działa foldr?

Czy ktoś może wyjaśnić jak foldr praca? Weź te przykłady: Prelude> foldr (-) 54 [10, 11] 53 Prelude> foldr (\x y -> (x+y)/2) 54 [12, 4, 10, 6] 12.0 Nie rozumiem tych egzekucji. Jakieś sugestie?

Dlaczego algebraiczne typy danych Haskella są "zamknięte"?

Popraw mnie, jeśli się mylę, ale wygląda na to, że algebraiczne typy danych w Haskell są przydatne w wielu przypadkach, w któ ... nia tej deklaracji. Co z tego? czy korzyści z tego systemu? Wygląda na to, że sposób OO byłby znacznie bardziej rozszerzalny.

Porównanie implementacji kolejek priorytetów w Haskell

Wydaje się, że istnieje kilka implementacji kolejek priorytetów dostępnych od ręki dla Haskella. Na przykład: Data.Priorit ... e SO było bardziej przydatne dla przyszłych czytelników.) czy są jakieś inne pakiety kolejki priorytetów, które przegapiłem?

Wady systemu typu Scala a Haskell?

Czytałem, że system typów Scali jest osłabiony przez interoperacyjność Javy i dlatego nie może wykonywać niektórych z tych sa ... odowana wymazaniem typu, czy mylę się pod każdym względem? Czy ta różnica jest powodem, dla którego Scala nie ma typeklasów?

W jakim sensie monada IO jest czysta?

Miałem MONADĘ IO opisaną mi jako Monada stanowa, gdzie państwo jest "prawdziwym światem". Zwolennicy tego podejścia do IO twi ... ada i jak jest używana. Proszę nie odpowiadać linkiem do losowego samouczka monad, chyba że konkretnie adresuje moje pytanie.