Pytania oznaczone «haskell»

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

83
Haskell na JVM?

Zastanawiam się, czy istnieje sposób, aby Haskell działał na JVM (skompilowanym lub zinterpretowanym)? Na Sourceforge istnieje JHaskell, ale ten wydaje się być pusty i martwy. GHC używa LLVM jako zaplecza kompilatora. Czy byłoby dobrym pomysłem lub możliwą kompilacją LLVM do kodu bajtowego...

82
Jak mogę odinstalować wersję pakietu Cabal?

Happstack Lite psuje mi się, ponieważ dostaje blaze-html w wersji 0.5 i chce wersji 0.4. Cabal mówi, że zainstalowane są obie wersje 0.4.3.4 i 0.5.0.0. Chcę usunąć 0.5.0.0 i używać tylko starszej wersji. Ale Cabal nie ma polecenia „odinstalowania”, a kiedy próbuję ghc-pkg unregister --force...

81
Haskell „nic nie rób” IO, a jeśli nie inaczej

Chcę zrobić w Haskell coś, co wygląda tak: main1 = do s <- getLine if s == "foo" then putStr "You entered foo" Oczywiście nie jest to legalne, ponieważ nie ma else. Jedna alternatywa, o której myślałem: nop :: IO () nop = sequence_ [] main2 = do s <- getLine if s == "foo" then...

81
Co to jest polimorfizm Levity

Jak wskazuje tytuł pytania, chcę wiedzieć, czym jest polimorfizm Lewity i jaka jest jego motywacja? Wiem, że ta strona zawiera pewne szczegóły, ale większość wyjaśnień przechodzi przez moją głowę. :) Chociaż ta strona jest trochę bardziej przyjazna, nadal nie jestem w stanie zrozumieć, jaka...

80
Funkcjonalne soczewki

Czy ktoś mógłby mi wyjaśnić funkcjonalne soczewki? To zaskakująco trudny temat do wygooglowania i nie poczyniłem żadnych postępów. Wiem tylko, że zapewniają podobną funkcjonalność get / set niż w OO.

80
Zipper Comonads, ogólnie

Biorąc pod uwagę dowolny typ kontenera, możemy utworzyć (skoncentrowany na elementach) Zipper i wiedzieć, że ta struktura jest Comonad. Zostało to niedawno zbadane ze wspaniałymi szczegółami w innym pytaniu o przepełnienie stosu dla następującego typu: data Bin a = Branch (Bin a) a (Bin a) |...