Pytania oznaczone «haskell»

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

79
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 chcę znaleźć prostsze...

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

79
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 x) Powyższy kod bardzo mnie zmylił, a ktoś o nazwisku dps...

39
Czy jest jakaś szansa na napisanie „C-dur” zamiast „major C”?

W moim projekcie muzycznym napotkałem niewielki problem estetyczny i od pewnego czasu mnie to denerwuje. Mam typ data Key = C | D | ...i mogę zbudować Scalea Keyi a Mode. W Moderozróżnia np główną i mniejszą skalę. Mogę zdefiniować Modetyp jako funkcję od Keydo Scale. W takim przypadku tryby będą...

19
Potrzeba czystego w aplikacjach

Uczę się Aplikacji Haskella. Wydaje mi się (prawdopodobnie się mylę), że purefunkcja nie jest tak naprawdę potrzebna, na przykład: pure (+) <*> [1,2,3] <*> [3,4,5] można zapisać jako (+) <$> [1,2,3] <*> [3,4,5] Czy ktoś może wyjaśnić zalety tej purefunkcji w porównaniu...

14
Stos nie był testowany z wersjami GHC i Cabal

W moim projekcie Haskell, gdy ja stack run, pokazuje, ale nadal działa. Jakie to ostrzeżenie? Jak mogę się tego pozbyć? Stack has not been tested with GHC versions above 8.6, and using 8.8.2, this may fail Stack has not been tested with Cabal versions above 2.4, but version 3.0.1.0 was found, this...

14
wpisz nazwę reprezentującą listę o wartości od 0 do 5

Mam ćwiczenie, w którym muszę zdefiniować typ reprezentujący listę z wartościami od 0 do 5. Najpierw pomyślałem, że mogę rozwiązać to tak rekurencyjnie: data List a = Nil | Content a (List a) Ale nie sądzę, że jest to właściwe podejście. Czy możesz mi dać do...