Pytania otagowane jako haskell

Haskell to funkcjonalny język programowania z silnym typowaniem statycznym, leniwą oceną, szeroką obsługą równoległości i współbieżności oraz unikalnymi możliwościami abstrakcyjnymi.


3
Schematy rekurencyjne dla manekinów?
Szukam naprawdę prostych, łatwych do zrozumienia wyjaśnień schematów rekurencyjnych i korekturalnych (katamorfizmów, anamorfizmów, hylomorfizmów itp.), Które nie wymagają podążania za wieloma linkami ani otwierania podręcznika teorii kategorii. Jestem pewien, że wymyśliłem wiele z tych schematów nieświadomie i "zastosowałem" je w swojej głowie podczas procesu kodowania (jestem pewien, że wielu z …

4
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 Javy? A może użyć innego zaplecza kompilatora?

4
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 blaze-html, ghc-pkgmówi , że moje …
82 haskell  ghc  cabal 

5
Konkretny przykład pokazujący, że monady nie są zamknięte w kompozycji (z dowodem)?
Powszechnie wiadomo, że funktory aplikacyjne są zamknięte w kompozycji, ale monady nie. Jednak mam problem ze znalezieniem konkretnego kontrprzykładu pokazującego, że monady nie zawsze komponują. Ta odpowiedź daje [String -> a]jako przykład nie-monady. Po trochę zabawie z tym, wierzę w to intuicyjnie, ale ta odpowiedź mówi tylko, że „złączenia nie …


6
Co oznacza „reifikacja” i „reifikacja” w kontekście programowania (funkcjonalnego?)?
Często czytam ten termin na blogach o haskell i programowaniu funkcjonalnym (szczególnie na blogu sigfpe ), ale nie mam pojęcia, co to znaczy. Przez większość czasu udaje mi się nie wiedzieć, ale prawdopodobnie zrozumiałbym teksty dużo lepiej, gdybym wiedział. Google mi nie pomogło. Gubię się w sprawach technicznych. Również nietechniczne …

1
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 jest za nią motywacja.
81 haskell 

2
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 <- …
81 haskell  syntax  io 

3
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) | Leaf a deriving Functor …

5
Jaki jest ekosystem tworzenia stron internetowych Haskell? [Zamknięte]
W obecnym stanie to pytanie nie pasuje do naszego formatu pytań i odpowiedzi. Oczekujemy, że odpowiedzi będą poparte faktami, referencjami lub ekspertyzą, ale to pytanie prawdopodobnie będzie wymagało debaty, argumentów, ankiet lub rozszerzonej dyskusji. Jeśli uważasz, że to pytanie można poprawić i prawdopodobnie ponownie otworzyć, odwiedź centrum pomocy, aby uzyskać …
80 haskell 

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

2
Podziel Int na Int i zwróć Int
Potrzebuję funkcji, która pobiera dwa Ints ( ai b) i zwraca A/Bjako Int. Jestem pewien, że A/Bzawsze będzie to liczba całkowita. Oto moje rozwiązanie: myDiv :: Int -> Int -> Int myDiv a b = let x = fromIntegral a y = fromIntegral b in truncate (x / y) Ale …
79 haskell  int 

9
Pisanie foldl za pomocą foldr
W Real World Haskell , rozdział 4. o programowaniu funkcjonalnym : Napisz foldl z foldr: -- file: ch04/Fold.hs myFoldl :: (a -> b -> a) -> a -> [b] -> a myFoldl f z xs = foldr step id xs z where step x g a = g (f a …

4
Obsługa wyjątków w Haskell
Potrzebuję pomocy, aby zrozumieć użycie trzech funkcji Haskella try ( Control.Exception.try :: Exception e => IO a -> IO (Either e a)) złapać ( Control.Exception.catch :: Exception e => IO a -> (e -> IO a) -> IO a) uchwyt ( Control.Exception.handle :: Exception e => (e -> IO a) …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.