Публикации по теме '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 просмотров
schedule
20.08.2022
Сосуществование графического интерфейса StateT и WX
обычная программа wxHaskell выглядит так
main = do
run gui
gui = do
....
....
gui должен иметь тип IO a , run имеет тип IO a -> IO () , также в run есть некоторые подпрограммы инициализации.
Я пытаюсь сделать...
155 просмотров
schedule
19.04.2022
Кто-нибудь когда-нибудь сталкивался с Трансформатором Монад в дикой природе?
В моей сфере деятельности - ИТ-отделы бэк-офиса для финансового учреждения - очень часто программный компонент имеет глобальную конфигурацию, регистрирует свой прогресс, имеет какое-то короткое замыкание обработки ошибок / вычислений ... можно хорошо...
9114 просмотров
schedule
29.11.2023
Вопрос о функции связывания монад
Если я определяю функцию «связать» следующим образом:
(>>=) :: 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 просмотров
schedule
13.01.2023
Устранение моей явной передачи состояния через лайки, монады и прочее
Я работаю над книгой Land of Lisp на F# (да, странно, я знаю). Для своего первого примера текстового приключения они используют мутацию глобальной переменной, и я бы хотел этого избежать. Моя монад-фу слаба, поэтому сейчас я делаю уродливое...
1361 просмотров
schedule
30.03.2022
Почему применение «последовательности» к списку списков приводит к вычислению его декартова произведения?
Мой вопрос касается функции sequence в Prelude , сигнатура которой выглядит следующим образом:
sequence :: Monad m => [m a] -> m [a]
Я понимаю, как эта функция работает для List из Maybe s. Например, применение sequence к...
12552 просмотров
schedule
16.03.2022
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