Pytania oznaczone «ghc»

Glasgow Haskell Compiler to najnowocześniejszy kompilator typu open source i interaktywne środowisko dla języka funkcjonalnego Haskell. Użyj tego tagu w przypadku pytań dotyczących GHC, a nie ogólnie Haskell, ponieważ prawie wszyscy będą go używać, chyba że określono inaczej.

392
Przechodniość autospecjalizacji w GHC

Z dokumentacji GHC 7.6: [T] często często nie potrzebujesz pragmy SPECJALIZACJI. Podczas kompilacji modułu M optymalizator GHC (z -O) automatycznie uwzględnia każdą przeciążoną funkcję najwyższego poziomu zadeklarowaną w M i specjalizuje ją dla różnych typów, w których jest wywoływany w M....

322
Techniki śledzenia ograniczeń

Oto scenariusz: napisałem trochę kodu z podpisem typu, a skargi GHC nie mogły wydedukować x ~ y dla niektórych xi y. Zwykle możesz rzucić GHC kość i po prostu dodać izomorfizm do ograniczeń funkcji, ale jest to zły pomysł z kilku powodów: Nie podkreśla zrozumienia kodu. Możesz skończyć z 5...

212
Kiedy właściwe jest ustawienie -XAllowAmbiguousTypes?

Niedawno opublikowałem pytanie dotyczące syntactic-2.0 dotyczące definicji share. Pracowałem w GHC 7.6 : {-# LANGUAGE GADTs, TypeOperators, FlexibleContexts #-} import Data.Syntactic import Data.Syntactic.Sugar.BindingT data Let a where Let :: Let (a :-> (a -> b) :-> Full b) share ::...

193
Odczytywanie rdzenia GHC

Rdzeń jest językiem pośrednim GHC. Czytanie rdzenia może pomóc ci lepiej zrozumieć wydajność twojego programu. Ktoś poprosił mnie o dokumentację lub samouczki na temat czytania rdzenia, ale nie mogłem wiele znaleźć. Jaka dokumentacja jest dostępna do odczytu GHC Core? Oto, co znalazłem do tej...

156
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...

147
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...

143
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:...

106
Kiedy zapamiętywanie jest automatyczne w GHC Haskell?

Nie mogę zrozumieć, dlaczego m1 najwyraźniej jest zapamiętywany, podczas gdy m2 nie znajduje się w następującym: m1 = ((filter odd [1..]) !!) m2 n = ((filter odd [1..]) !! n) m1 10000000 zajmuje około 1,5 sekundy przy pierwszym połączeniu i ułamek tego czasu przy kolejnych (przypuszczalnie...

86
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ść...