У меня есть вопрос для начинающих о датах и String в Haskell. Мне нужно получить часть даты (год, месяц или день) как String в Haskell. Я обнаружил, что если я напишу следующие две строки в GHCi ...
Я часто вижу подобные объявления типов, глядя на Haskell: a -> (b -> c) I понять, что он описывает функцию, которая принимает что-то типа a и возвращает новую функцию, которая ...
В В Haskell вы можете использовать оператор связывания (>> =) следующим образом: repli :: [a] -> [a]
repli xs = xs >> = \ x -> [x, x] * Main> repli [1,2,3]
[1,1,2,2,3,3] Я читал, что flatMap - это Scala '...
Простите меня, если этот вопрос кажется глупым, но я новичок во всем мире функционального программирования, поэтому мне понадобятся некоторые обитатели StackOverflow, чтобы установи меня. Из того, что я понял, ...
Я прохожу курс "Напиши себе схему на Haskell". Это отличный учебник, но я наткнулся на стену в одном из упражнений по разбору: parseNumber :: Parser LispVal
parseNumber = liftM (Number . ...
Мой вопрос касается функции последовательности в Prelude, сигнатура которой следующая: sequence :: Monad m => [ma] -> m [a] Я понимаю, как эта функция работает для List of Maybes. Для ...
Я читал о монадах в теории категорий. Одно определение монад использует пару сопряженных функторов. Монада определяется обходом с использованием этих функторов. По-видимому, дополнения очень ...
Я бы хотел иметь такую функцию, как: unzipState :: (MonadState sm) => m (a, b) -> (ma, mb), который потребует (с сохранением состояния) вычисления, возвращающего кортеж, и вернет два (зависимых) ...
Я просто писал небольшой кусочек кода и хотел использовать функцию защиты в IO Monad. Тем не менее, не существует определения MonadPlus для IO, что означает, что мы не можем использовать охрану на IO-земле. Я ...
Я узнал несколько дней назад, как насчет монад Haskell, есть ли какое-то использование концепции монад в среде .net? И есть ли способы использовать эту концепцию в моих разработках с C #. Спасибо за помощь.
Это что-то вроде комбинации State и Writer. Я проверил законы монад. newtype M sa = M {runM :: s -> (s, a)} экземпляр (Monoid s) => Монада (M s), где return = M. const ...
Я конвертирую контекстно-свободную грамматику в нормальную форму Грейбаха (GNF). Основное преобразование (от Hopcroft & Ullman) - это последовательность итераций по индексированным переменным грамматики. Это ...
У меня есть общее состояние, которое по сути является 3 -часть, и ряд функций, каждая из которых касается частей этого состояния. Я пытаюсь разработать набор универсальных адаптеров для таких ...
Я все время использую парное написание Writer, но мне всегда приходится создавать экземпляр самого себя: instance (Monoid w) => Monad ((,) w) where return x = (mempty, x) ~ (w, x) >> = f = let (w ', y) = ...
I've had the IO monad described to me as a State monad where the state is "the real world". The proponents of this approach to IO argue that this makes IO operations pure, as in referentially ...
Рассмотрим следующий код, который я написал: import Control.Monad увеличение :: Integer -> [Integer]
увеличивая п | n == 1 = [1..9] | в противном случае = делать let ps = увеличить (n - 1) ...
. Мне нравится читать фрагменты кода о концепциях, которые я не понимаю. Есть ли какие-нибудь фрагменты, которые демонстрируют монады во всей красе? Что еще более важно, как я могу применить монады, чтобы облегчить мою работу. ...
Я пытаюсь разобраться в обработке ошибок в Haskell. Я нашел статью "8 способов сообщить об ошибках в Haskell" но я не понимаю, почему Maybe и Either ведут себя по-разному. Например: ...
По вашему мнению, какой язык лучше всего подходит для реализации монад (Python / Ruby / LISP) ?, также может ли кто-нибудь рассказать мне о некоторых возможных вариантах использования монад (пожалуйста, приведите примеры), например об исключениях?
...
Предположим, у меня есть монада состояний, такая как: регистры данных = Reg {...} данные ST = ST {регистры :: регистры , memory :: Array Int Int} newtype Op a = Op {runOp :: ST -> (ST, a)} ...
Я играю с определенным DSL-определением по монадическому интерфейсу. Поскольку применение монады с использованием нескольких приложений flatMap является довольно громоздким, и для синтаксического понимания я не нахожу ...