ghc

Do czego służy słowo kluczowe "forall" w Haskell/GHC?

Zaczynam rozumieć, w jaki sposób słowo kluczowe forall jest używane w tak zwanych "typach egzystencjalnych", takich jak: da ... rzebowałem obu odpowiedzi, aby to zrozumieć do tego stopnia, że Nie zostawia mnie z lekkim strachem, gdy widzę to w podpisie.

Odczyt rdzenia GHC

Rdzeń jest językiem pośrednim GHC. Reading Core pomoże Ci lepiej zrozumieć wydajność Twojego programu. Ktoś poprosił mnie o d ... poziom wydajności RWH: Rozdział 25. Profilowanie i optymalizacja High-Performance Haskell talk at CUFP (slide 65-80)

Jakich optymalizacji można oczekiwać od GHC?

GHC ma wiele optymalizacji, które może wykonać, ale nie wiem, jakie są wszystkie, ani jak prawdopodobne są one wykonywane i w ... jak stream fusion( właśnie czytałem o tym artykuł); więcej w rodzaju wiedzy, którą mają ludzie, którzy piszą te frameworki.)

Mały program Haskell skompilowany z GHC do ogromnych binarnych

Nawet trywialnie małe programy Haskella zamieniają się w gigantyczne pliki wykonywalne. Napisałem mały program, który zosta ... odować kompilację nawet małego programu Haskell do ogromnego pliku binarnego? Co, jeśli już, mogę zrobić, aby to zmniejszyć?

Dobry tekst wprowadzający o implementacji GHC?

Podczas programowania w Haskell (a zwłaszcza przy rozwiązywaniu problemów projektu Euler, gdzie nieoptymalne rozwiązania mają ... wykorzystuje się stos i stertę? Co to jest CAF? (profilowanie wskazuje czasami, że hotspot tam jest, ale nie mam pojęcia)

Pamięć typów danych Haskell

Jak mogę znaleźć rzeczywistą ilość pamięci wymaganą do przechowywania wartości jakiegoś typu danych w Haskell (głównie z GHC) ... m opcję :set +s w GHCi, aby zobaczyć statystyki pamięci, ale nie jest jasne, jak oszacować ślad pamięci pojedynczej wartości.

Redukcja czasu pauzy w programie Haskell

Tworzymy program, który odbiera i przekazuje "wiadomości", zachowując tymczasową historię tych wiadomości, tak aby mógł przek ... jsze opóźnienia. czy są jakieś sposoby na "partycję" pamięci dla mniejszych cykli GC, inne niż dzielenie na wiele procesów?

Jak mogę odinstalować wersję pakietu Cabal?

Happstack Lite mi się psuje, bo dostaje blaze-html w wersji 0.5 i chce wersji 0.4. Cabal mówi, że obie wersje 0.4.3.4 i 0.5 ... e jest ignorowane. A z zaakceptowaną odpowiedzią Dona Stewarta możesz usunąć dokładnie tę wersję, którą chcesz wyeliminować.

Mieszanie Erlanga i Haskella

Jeśli kupiłeś paradygmat programowania funkcyjnego, są szanse, że spodoba ci się zarówno Erlang, jak i Haskell. Oba mają czy ... John twierdzi, że GC jest powolny i nie przyspieszył tak bardzo, chciałbym być w stanie przeciwstawić się niektórym liczbom.

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.

Osierocone instancje w Haskell

Podczas kompilacji mojej aplikacji Haskell z opcją -Wall, GHC narzeka na osierocone instancje, na przykład: Publisher.hs:45 ... dliwiony ignorowaniem / tłumieniem tego ostrzeżenia, albo bardziej przekonujący argument przeciwko robieniu rzeczy po mojemu.

Powinienem używać GHC Haskell extensions czy nie?

Kiedy uczę się Haskella, widzę, że jest wiele rozszerzeń językowych używanych w kodzie prawdziwego życia. Jako początkujący ... przypuszczam, że -XDisambiguateRecordFields jest ładny i użyteczny, ale czy prawdopodobnie będzie obsługiwany w przyszłości?

Dlaczego nie mogę uczynić String instancją typeklasy?

Podane : data Foo = FooString String … class Fooable a where --(is this a good way to name this?) toFoo :: a -> F ... ing i instancję typeklasy? GHC wydaje się, że pozwoli mi to ujść na sucho, jeśli dodam dodatkową flagę. Czy to dobry pomysł?

Kiedy-XAllowAmbiguousTypes jest odpowiedni?

Ostatnio zamieściłem pytanie o składni-2.0 dotyczące definicji share. Miałem to działa w GHC 7.6: {-# LANGUAGE GADTs, Type ... ednoznaczne, podczas gdy share jest? Ponieważ share jest aplikacją sugarSym, ograniczenia share pochodzą wprost z sugarSym.

Zrozumienie STG

Projekt GHC opiera się na czymś o nazwie STG, co oznacza "bezrękawnik, bez znaczników g-machine". Teraz G-machine jest najwy ... u, że węzły nie są oznaczone stanem oceny. Czy ktoś może wyjaśnić, która (jeśli w ogóle) z tych interpretacji jest poprawna?

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ź?

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?

Czy GHC naprawdę nigdy nie jest mapą inline, scanl, foldr itp.?

Zauważyłem, że instrukcja GHCmówi: "dla funkcji samo rekurencyjnej, wyłącznik pętli może być tylko samą funkcją, więc pragma ... tutaj . Jednak, czy to wszystko nie ogranicza naszej zdolności do pisania kodu, który jest jednocześnie szybki i elegancki?

Tworzenie małych plików wykonywalnych haskell?

Czy są jakieś dobre sposoby na tworzenie małych plików wykonywalnych haskell? Z ghc6 prosty program hello world wydaje siÄ ™ dochodziÄ ‡ do okoĹ ' o 370kB (523kB przed strip). Hello world w C jest o 4kB (9KB przed strip).

Specjalizacja z ograniczeniami

Mam problemy z uzyskaniem GHC do specjalizacji funkcji z ograniczeniem klasy. Mam minimalny przykład mojego problemu tutaj: F ... je się w plusFastCyc i jak Mogę to zrobić? UPDATE Problem utrzymuje się w GHC 7.8.2, więc to pytanie jest nadal aktualne.