Вопросы по теме '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 просмотров

Прикладной экземпляр для непустого лиственного дерева в 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 просмотров