Вопросы по теме 'foldable'
Foldr / Foldl бесплатно, когда Tree реализует Foldable foldMap?
Я новичок в Haskell и учусь по "Learn You a Haskell".
Я кое-что не понимаю в Tree реализации Foldable .
instance F.Foldable Tree where
foldMap f Empty = mempty
foldMap f (Node x l r) = F.foldMap f l `mappend`...
1099 просмотров
schedule
31.01.2023
Откуда Foldable знает реализацию mappend
Я изучаю Haskell с помощью " http://learnyouahaskell.com ". Я следую примеру BST ( Двоичное дерево поиска ), которое является экземпляром Foldable :
data Tree a = Nil | Node a (Tree a) (Tree a) deriving (Show, Read, Eq)
instance F.Foldable Tree...
152 просмотров
schedule
24.12.2022
Почему я не могу сделать `null (Just 5)` в Haskell?
В документации Hackage для Maybe Foldable указан как один из классов типов Maybe. Также перечислены следующие функции:
null :: Maybe a -> Bool
Он даже ссылается на реализацию этой функции (из Foldable ):
null :: t a -> Bool
null =...
179 просмотров
schedule
18.07.2022
Складной против проходного
Изучая Applicative глубже, я пришел к Traversable . Хотя я уже знал Foldable из LYHGG , я еще не видел первого, поэтому я начал читать вики Haskell о Traversable .
Пока читал, понял, почему Foldable.fold параллельно...
1946 просмотров
schedule
21.04.2022
Почему Monoid не является обязательным требованием для foldr / foldl?
Я смотрю на класс Foldable в Haskell. Для двух методов fold , foldMap требуется экземпляр Monoid. Но у foldr или foldl нет такого ограничения.
fold :: Monoid m => t m -> m
foldMap :: Monoid m => (a -> m) -> t a -> m...
538 просмотров
schedule
03.07.2023
Складной, Моноид и Монада
Рассмотрим следующую подпись foldMap
foldMap :: (Foldable t, Monoid m) => (a -> m) -> t a -> m
Это очень похоже на "привязку", только с заменой аргументов:
(>>=) :: Monad m => m a -> (a -> m b) -> m b...
2441 просмотров
schedule
14.08.2022
Нет экземпляра для Foldable, возникающего из-за длины внутри лямбды
первый вопрос здесь и полностью новичок в haskell, поэтому, пожалуйста, будьте добры со мной :)
Я играл с вопросом номер 6 из этого упражнения haskell
и в конце концов пришел к решению (или, надеюсь, что-то подобное) с этим кодом...
786 просмотров
schedule
16.10.2022
Если карта может быть определена с помощью Foldable, почему Functor не упоминается в определении Foldable?
Я читал, что map можно определить с помощью foldr , т.е. это примитивная рекурсивная функция. По крайней мере для списков.
Теперь мой вопрос: почему Functor не является подклассом Foldable? И если fmap можно определить только в терминах...
152 просмотров
schedule
11.04.2023
Есть ли вообще эквивалент головы/хвоста для функторов Foldable?
Я хотел бы выразить следующий код Haskell, используя только алгебру функторов (т. е. - не полагаясь на какой-либо конкретный тип контейнера, такой как List ):
ys = zipWith (+) (head xs : repeat 0)
(tail xs ++ [y])
Мне...
271 просмотров
schedule
01.03.2023