Публикации по теме 'monads'


Функциональная работа с исключениями Java
Возможно, вы слышали, что проверенные исключения в Java - зло. Некоторые даже говорят, что это самая большая ошибка Java. Существует множество языков, таких как Scala, Kotlin, C # или C ++ , в которых вообще не проверяются исключения. Непроверенные исключения, как правило, лучший выбор. Несомненно, вы можете написать свой код, не создавая новых проверенных исключений. Однако с ними приходится постоянно иметь дело, потому что ими злоупотребляют многие стандартные или популярные..

Простые концепции расширенного функционального программирования
Обычно я говорю и пишу об основах функционального программирования , потому что считаю, что их легче всего применять и они приносят наибольшую пользу. Но если вы разобрались с основами и хотите понять, о чем говорят все крутые разработчики Haskell, вы попали в нужное место. Как всегда, я постараюсь объяснить концепции в понятных терминах и избегать математической теории (потому что это сбивает с толку и потому что я не очень хорошо ее знаю 😝). Мои примеры будут на Javascript,..

Вопросы по теме 'monads'

Творческое использование монад
Я ищу творческое использование монад, чтобы учиться. Я где-то читал, что монады использовались, например, в ИИ, но, будучи новичком в монадах, я не понимаю, как это сделать. Пожалуйста, включите ссылку на исходный код и примеры использования. Нет...
5135 просмотров
schedule 26.10.2022

Упрощение кода на Haskell
Поэтому я работаю над минимаксной реализацией игры, похожей на шашки, чтобы помочь себе лучше изучить Haskell. Функция, с которой у меня возникли проблемы, принимает список состояний игры и генерирует список непосредственных состояний игры-преемника....
898 просмотров
schedule 30.03.2024

Лучше использовать монаду State или рекурсивно передавать состояние?
Я просто изучаю Haskell и пытаюсь найти наиболее идиоматический способ реализации алгоритма прямой видимости. Демонстрационный код, который я нашел, использует монаду состояния, но мне кажется проще (я только начинаю) передавать состояние...
1277 просмотров
schedule 02.07.2023

Что-то вроде mapM, но для массивов? (как и arrayMap, но отображение нечистой функции)
Я вижу, что могу сопоставить функцию с изменяемыми массивами с помощью mapArray, но похоже, что нет ничего похожего на mapM (и mapM_). mapArray не позволит мне распечатать его элементы, например: import Data.Array.Storable arr <- newArray...
304 просмотров
schedule 01.07.2023

Составление монадных действий со складками
Возьмем функцию типа (Monad m) => a -> m a . Например: ghci> let f x = Just (x+1) Я хотел бы иметь возможность применять его любое количество раз. Первое, что я попробовал, это ghci> let times n f = foldr (>=>) return...
589 просмотров
schedule 28.06.2022

Scala эквивалентен монадам Haskell
У меня был некоторый опыт работы с Haskell, и сейчас я изучаю Scala. Интересно, есть ли что-то эквивалентное Monads в Scala??
1646 просмотров

Сосуществование графического интерфейса StateT и WX
обычная программа wxHaskell выглядит так main = do run gui gui = do .... .... gui должен иметь тип IO a , run имеет тип IO a -> IO () , также в run есть некоторые подпрограммы инициализации. Я пытаюсь сделать...
155 просмотров
schedule 19.04.2022

Кто-нибудь когда-нибудь сталкивался с Трансформатором Монад в дикой природе?
В моей сфере деятельности - ИТ-отделы бэк-офиса для финансового учреждения - очень часто программный компонент имеет глобальную конфигурацию, регистрирует свой прогресс, имеет какое-то короткое замыкание обработки ошибок / вычислений ... можно хорошо...
9114 просмотров

Вопрос о функции связывания монад
Если я определяю функцию «связать» следующим образом: (>>=) :: M a -> (a -> M' b) -> M' b Поможет ли мне это определение, если я хочу, чтобы результат был нового типа Monad, или я должен использовать ту же Monad, но с b в том...
730 просмотров
schedule 13.06.2023

помогите с читающей монадой
Я новичок в haskell, мне нужно написать программу с учетом контекста, поэтому я подумал, что могу использовать Reader Monad для сохранения контекста, прочитанного из файла, я знаю, как читать файл, помещая содержимое в список кортежей, что-то вроде...
3564 просмотров
schedule 25.02.2022

Haskell: ввод-вывод и возврат из функции
Пожалуйста, потерпите меня, так как я очень новичок в функциональном программировании и Haskell. Я пытаюсь написать функцию в Haskell, которая берет список целых чисел, печатает заголовок указанного списка, а затем возвращает хвост списка. Функция...
9575 просмотров
schedule 02.04.2022

Использование параллельных стратегий с монадами
Я часто вижу использование и объяснение параллельных стратегий Haskell, связанных с чистыми вычислениями (например, fib ). Тем не менее, я не часто вижу его использование с монадическими конструкциями: есть ли разумная интерпретация эффекта par и...
1462 просмотров

Устранение моей явной передачи состояния через лайки, монады и прочее
Я работаю над книгой Land of Lisp на F# (да, странно, я знаю). Для своего первого примера текстового приключения они используют мутацию глобальной переменной, и я бы хотел этого избежать. Моя монад-фу слаба, поэтому сейчас я делаю уродливое...
1361 просмотров

Почему применение «последовательности» к списку списков приводит к вычислению его декартова произведения?
Мой вопрос касается функции sequence в Prelude , сигнатура которой выглядит следующим образом: sequence :: Monad m => [m a] -> m [a] Я понимаю, как эта функция работает для List из Maybe s. Например, применение sequence к...
12552 просмотров

Haskell Monads msum в HappStack
От http://happstack.com/docs/crashcourse/HappstackState.html Когда я запускаю сервер, счетчик просмотров увеличивается на 1 когда я смотрю 2 когда я не смотрю Соответствующий рассматриваемый код: handlers :: ServerPart...
623 просмотров
schedule 17.06.2023

Выход из монады IO внутри монады Continuation
Запутанный заголовок для запутанного вопроса! Я понимаю а) монады, б) монаду IO, в) монаду Cont ( Control.Monad.Cont ) и d) ContT монада-преобразователь продолжения. (И я смутно понимаю преобразователи монад в целом — хотя недостаточно, чтобы...
1194 просмотров
schedule 28.04.2023

Когда использовать монады Haskell
Я реализую алгоритм комбинаторной оптимизации в Haskell: Given an initial candidate solution, repeat until stopping criteria are met: 1. Determine possible moves 2. Evaluate possible moves 3. Choose a move 4. Make move, record new...
1907 просмотров
schedule 18.12.2022

У Python монадический?
Как и многие безрассудные первопроходцы до меня, я пытаюсь пересечь бездорожную пустошь, которая называется «Понимание монад». Я все еще шатаюсь, но не могу не заметить некоторую монадность в выражении Python with . Рассмотрим этот фрагмент:...
3682 просмотров
schedule 31.08.2022

Монады в C#, почему реализации Bind требуют, чтобы переданная функция возвращала монаду?
Большинство примеров монад, которые я видел в C#, написаны примерно так: public static Identity<B> Bind<A, B>(this Identity<A> a, Func<A, Identity<B>> func) { return func(a.Value); } Например, см....
3068 просмотров
schedule 25.09.2022

ST Monad == запах кода?
Я работаю над реализацией алгоритма UCT в Haskell , который требует большого количества манипуляций с данными. Не вдаваясь в подробности, это алгоритм моделирования, в котором на каждом «шаге» листовой узел в дереве поиска выбирается на основе...
7923 просмотров
schedule 16.04.2022