Вопросы по теме 'applicative'
Haskell присоединиться к многоуровневой монаде
Я изучаю haskell и пытаюсь максимально использовать аппликативные функторы вместо монад. Он очень аккуратен и прост в составлении. Однако иногда в коде возникают некоторые типы, такие как IO [IO [a]] или IO Maybe IO Maybe a , что доставляет мне...
272 просмотров
schedule
25.05.2024
Аппликативный функтор в списках
Я понимаю, что будет следующее:
[(+2),(+1)]<*>[1,2,3] == [3,4,5,2,3,4]
Я также понимаю, что fmap реализован как map . Но как я мог мысленно отобразить это вычисление в своей голове? Когда я впервые увидел это, я предположил...
2130 просмотров
schedule
15.06.2024
Как ‹*› работает с функцией Applicative?
Я пытаюсь понять с помощью лямбда-исчисления, почему результат функции следующего кода
(,) <$> (+1) <*> (+1)
имеет тип Num a => a -> (a, a) вместо Num a => a -> a -> (a, a)
Это то, что у меня есть, я делаю что-то ужасно...
101 просмотров
schedule
15.11.2022
Ошибка получения монады Newtype
Я пытаюсь установить приложение Termite - Util , но получаю эта ошибка в строке 14
newtype CE m a = CE {unCE :: m a} deriving (Monad)
Ошибка говорит:
ContextError.hs: 14: 45: Нет экземпляра для (Applicative (CE m)), возникающего из...
739 просмотров
schedule
16.01.2024
Почему проверка нарушает законы монад?
В SO дается объяснение, почему проверка, как в скалязе, кошки (Scala) или Arrow (Kotlin) не могут быть монадой.
Насколько я понимаю, это потому, что они смоделировали монады в терминах аппликативных функторов, и желаемое поведение валидации как...
286 просмотров
schedule
10.11.2022
Прикладной экземпляр для непустого лиственного дерева в Haskell
Учитывая следующий тип данных:
data Tree a =
Branch (Tree a) (Tree a)
| Leaf a deriving (Eq, Show)
И следующий экземпляр Functor:
instance Functor Tree where
fmap f (Leaf a) = Leaf $ f a
fmap f (Branch t1 t2) = Branch...
1404 просмотров
schedule
16.01.2024
Scala, коты - как не использовать Applicative[F] явно?
Я хотел бы использовать Applicative[F] как-то иначе, чем явно. В настоящее время у меня есть простой код:
class BettingServiceMock[F[_] : Async] extends BettingService[F] {
override def put(bet: Bet): F[Bet] = {
for {...
87 просмотров
schedule
30.09.2022
Декартово произведение не работает для аппликативного
Я пытался понять аппликатив и то, как я могу использовать его как декартово произведение между K функциями и N параметрами, и я не могу понять, почему я не могу сделать следующее:
[Just (+1),Just (+2)] <*> [Just 1 ,Just 2] визуализирует...
111 просмотров
schedule
22.10.2022
Haskell: Как рассчитывается эта формула? `(возврат (+1)) (Всего 10) 10`
Речь идет об объединении двух простых арифметических операторов (двух частичных функций) Applicative и Monad. Я примерно понял это до сих пор.
-- ┌──────────────────────────────────────┐
-- | instance Applicative ((->) r) where |...
110 просмотров
schedule
29.09.2022