0
ответов

Функция Haskell для получения части даты в виде строки

У меня есть вопрос для начинающих о датах и ​​String в Haskell. Мне нужно получить часть даты (год, месяц или день) как String в Haskell. Я обнаружил, что если я напишу следующие две строки в GHCi ...
вопрос задан: 7 April 2011 04:43
0
ответов

Что это за тип математики: a -> b -> c

Я часто вижу подобные объявления типов, глядя на Haskell: a -> (b -> c) I понять, что он описывает функцию, которая принимает что-то типа a и возвращает новую функцию, которая ...
вопрос задан: 27 March 2011 17:47
0
ответов

Добавление оператора монадического связывания Haskell в Scala

В В Haskell вы можете использовать оператор связывания (>> =) следующим образом: repli :: [a] -> [a] repli xs = xs >> = \ x -> [x, x] * Main> repli [1,2,3] [1,1,2,2,3,3] Я читал, что flatMap - это Scala '...
вопрос задан: 25 March 2011 17:47
0
ответов

Есть ли у монад свободный интерфейс?

Простите меня, если этот вопрос кажется глупым, но я новичок во всем мире функционального программирования, поэтому мне понадобятся некоторые обитатели StackOverflow, чтобы установи меня. Из того, что я понял, ...
вопрос задан: 25 March 2011 11:32
0
ответов

Путаница в монадических типах

Я прохожу курс "Напиши себе схему на Haskell". Это отличный учебник, но я наткнулся на стену в одном из упражнений по разбору: parseNumber :: Parser LispVal parseNumber = liftM (Number . ...
вопрос задан: 16 March 2011 02:52
0
ответов

Почему применение `sequence` в списке списков приводит к вычислению его декартова произведения?

Мой вопрос касается функции последовательности в Prelude, сигнатура которой следующая: sequence :: Monad m => [ma] -> m [a] Я понимаю, как эта функция работает для List of Maybes. Для ...
вопрос задан: 14 March 2011 14:05
0
ответов

Монады как дополнения

Я читал о монадах в теории категорий. Одно определение монад использует пару сопряженных функторов. Монада определяется обходом с использованием этих функторов. По-видимому, дополнения очень ...
вопрос задан: 15 January 2011 00:31
0
ответов

Есть ли разумный способ распаковать монаду состояния?

Я бы хотел иметь такую ​​функцию, как: unzipState :: (MonadState sm) => m (a, b) -> (ma, mb), который потребует (с сохранением состояния) вычисления, возвращающего кортеж, и вернет два (зависимых) ...
вопрос задан: 10 January 2011 08:02
0
ответов

MonadPlus определение для Haskell IO

Я просто писал небольшой кусочек кода и хотел использовать функцию защиты в IO Monad. Тем не менее, не существует определения MonadPlus для IO, что означает, что мы не можем использовать охрану на IO-земле. Я ...
вопрос задан: 22 December 2010 08:38
0
ответов

Есть ли какое-то использование монад в среде .net?

Я узнал несколько дней назад, как насчет монад Haskell, есть ли какое-то использование концепции монад в среде .net? И есть ли способы использовать эту концепцию в моих разработках с C #. Спасибо за помощь.
вопрос задан: 20 December 2010 08:03
0
ответов

Какое хорошее название для этой монады состояния

Это что-то вроде комбинации State и Writer. Я проверил законы монад. newtype M sa = M {runM :: s -> (s, a)} экземпляр (Monoid s) => Монада (M s), где return = M. const ...
вопрос задан: 14 December 2010 07:57
0
ответов

Пример использования scalaz Monad

Кто-нибудь может привести пример использования scalaz Monad для простой, но нетривиальной и практически полезной задачи?
вопрос задан: 4 December 2010 16:14
0
ответов

Сохранение состояния в мире без состояния

Я конвертирую контекстно-свободную грамматику в нормальную форму Грейбаха (GNF). Основное преобразование (от Hopcroft & Ullman) - это последовательность итераций по индексированным переменным грамматики. Это ...
вопрос задан: 23 November 2010 19:40
0
ответов

Монада состояния - адаптировать функции, которые работают только с частями состояния?

У меня есть общее состояние, которое по сути является 3 -часть, и ряд функций, каждая из которых касается частей этого состояния. Я пытаюсь разработать набор универсальных адаптеров для таких ...
вопрос задан: 18 November 2010 14:35
0
ответов

Экземпляр `Monad ((,) w)` где угодно стандартно?

Я все время использую парное написание Writer, но мне всегда приходится создавать экземпляр самого себя: instance (Monoid w) => Monad ((,) w) where return x = (mempty, x) ~ (w, x) >> = f = let (w ', y) = ...
вопрос задан: 17 November 2010 16:26
0
ответов

In what sense is the IO Monad pure?

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 ...
вопрос задан: 31 October 2010 05:47
0
ответов

Haskell: Как упростить или исключить liftM2?

Рассмотрим следующий код, который я написал: import Control.Monad увеличение :: Integer -> [Integer] увеличивая п | n == 1 = [1..9] | в противном случае = делать let ps = увеличить (n - 1) ...
вопрос задан: 21 October 2010 15:51
0
ответов

Как монады могут облегчить мою работу? Покажите мне какой-нибудь классный фрагмент кода

. Мне нравится читать фрагменты кода о концепциях, которые я не понимаю. Есть ли какие-нибудь фрагменты, которые демонстрируют монады во всей красе? Что еще более важно, как я могу применить монады, чтобы облегчить мою работу. ...
вопрос задан: 6 October 2010 20:03
0
ответов

Haskell: Почему типы Maybe и Either ведут себя по-разному при использовании в качестве монад?

Я пытаюсь разобраться в обработке ошибок в Haskell. Я нашел статью "8 способов сообщить об ошибках в Haskell" но я не понимаю, почему Maybe и Either ведут себя по-разному. Например: ...
вопрос задан: 25 September 2010 21:07
0
ответов

Некоторые языки и способы использования монад

По вашему мнению, какой язык лучше всего подходит для реализации монад (Python / Ruby / LISP) ?, также может ли кто-нибудь рассказать мне о некоторых возможных вариантах использования монад (пожалуйста, приведите примеры), например об исключениях? ...
вопрос задан: 22 September 2010 18:30
0
ответов

Почему исключения Haskell могут быть пойманы только внутри монады ввода-вывода?

Кто-нибудь может объяснить, почему исключения могут быть выброшены за пределы монады ввода-вывода, но могут быть пойманы только внутри нее?
вопрос задан: 4 September 2010 21:34
0
ответов

Объединить состояние с действиями ввода-вывода

Предположим, у меня есть монада состояний, такая как: регистры данных = Reg {...} данные ST = ST {регистры :: регистры , memory :: Array Int Int} newtype Op a = Op {runOp :: ST -> (ST, a)} ...
вопрос задан: 4 September 2010 00:49
0
ответов

Использование продолжения Scala с разделителями для неявных монад

Я играю с определенным DSL-определением по монадическому интерфейсу. Поскольку применение монады с использованием нескольких приложений flatMap является довольно громоздким, и для синтаксического понимания я не нахожу ...
вопрос задан: 1 September 2010 23:55