3
ответа

LINQ запрашивают выражения, которые воздействуют на типы (монады?) кроме IEnumerable <T> — Возможные применения?

Я читаю книгу Реальное функциональное программирование Tomas Petricek и Jon Skeet, и мне нелегко переваривать раздел по вычислению expressions1) (иначе монады). Через эту книгу, меня...
вопрос задан: 4 June 2010 10:54
2
ответа

Рекурсивные функции в выражениях вычисления

Некоторый фон сначала. Я в настоящее время узнаю некоторый материал об одноместном синтаксическом анализаторе combinators. В то время как я пытался передать функцию 'chainl1' из данной статьи (p. 16-17), я предложил это решение:...
вопрос задан: 29 June 2010 14:33
2
ответа

Пользовательские выражения вычисления в F#

Я играл с монадами в F# (иначе выражения вычисления), и я записал эту простую монаду Идентификационных данных: введите Идентификационные данные <'a> = | Идентификационные данные 'типа IdentityBuilder () = участник x. Свяжите (...
вопрос задан: 16 December 2009 20:40
1
ответ

Рекурсивные выражения вычисления

В предыдущем вопросе мне сказали, как переписать мои выражения вычисления, таким образом, он использует хвостовую рекурсию. Я переписал свой код, но все еще получил StackOverflowException. Для определения местоположения проблемы, я записал некоторым...
вопрос задан: 23 May 2017 12:34
1
ответ

F #: Есть ли способ расширить список ключевых слов монад?

Внутри монады F #, если вы скажете let !, компилятор преобразует это в член Bind, который вы определили в построителе монад. Теперь я вижу, что есть монады запросов, как показано здесь, в MSDN, где вы можете сказать: ...
вопрос задан: 19 December 2016 00:22
0
ответов

Как мне перевести параметр универсального типа `where T: U` ограничение с C # на F #?

F # вызывает у меня проблемы с правилами вывода типов. Я пишу простой построитель вычислений, но не могу правильно определить ограничения переменных общего типа. Код, который мне нужен, выглядит как ...
вопрос задан: 9 July 2014 07:28
0
ответов

Определение новых ключевых слов в вычислительном выражении F#

Бета-версия F# 3.0 содержит вычислительное выражение запроса {} с множеством новых ключевых слов. Как я могу определить свои собственные ключевые слова в построителе вычислений?
вопрос задан: 11 July 2012 21:47
0
ответов

StackOverflow в монаде продолжения

Использование следующей монады продолжения: type ContinuationMonad() = member this.Bind (m, f) = fun c -> m (fun a -> fac) член this.Return x = fun k -> kx let cont = ...
вопрос задан: 25 June 2012 11:47
0
ответов

Как реализовать задержку в построителе вычислений Maybe?

Вот что у меня есть на данный момент: type Maybe <'a> = option <' a> let success x = Some (x) let fail = None let bind остаток p = сопоставить p с | Нет -> ошибка | Немного r -> rest ...
вопрос задан: 27 January 2012 22:49
0
ответов

Как мне изменить реализацию Rx Builder, чтобы исправить исключение переполнения стека?

I ' m пытается придумать Rx Builder для использования Reactive Extension в синтаксисе F # Computation Expression. Как исправить, чтобы не взорвал стек? Как в примере ниже. И это ...
вопрос задан: 24 January 2012 14:26
0
ответов

Какова роль циклов while в выражениях вычислений в F #?

Если вы определяете метод While для объекта-строителя, вы можете использовать циклы while в своих вычислительных выражениях. Сигнатура метода While: член b.While (predicate: unit-> bool, body: M <'...
вопрос задан: 2 January 2011 03:59