Вопросы по теме 'computation-expression'
Выражения пользовательских вычислений в F #
Я играл с монадами на F # (также известными как выражения вычислений) и написал эту простую монаду Identity:
type Identity<'a> =
| Identity of 'a
type IdentityBuilder() =
member x.Bind (Identity v) f = f(v)
member x.Return v =...
990 просмотров
schedule
16.11.2023
Проблема с вычислительным рабочим процессом
пытаясь следовать примеру в книге эксперта f # и имея проблему с рабочими процессами... код выглядит следующим образом:
type Attempt<'a> = option<'a>
let succeed x = Some (x)
let fail = None
let bind p rest =
match p...
248 просмотров
schedule
26.06.2023
Какова роль циклов while в вычислительных выражениях F#?
Если вы определяете метод While объекта-строителя, вы можете использовать while -циклы в своем выражения вычислений . Сигнатура метода While :
member b.While (predicate:unit->bool, body:M<'a>) : M<'a>
Для сравнения,...
768 просмотров
schedule
13.03.2024
как мне исправить эти ошибки, сгенерированные моим вычислительным выражением, использующим мой пользовательский построитель рабочих процессов?
Из документации MSDN я понимаю, что если Run будет реализован, он будет называться автоматически в конце вычислительного выражения. В нем говорится, что:
builder.Run(builder.Delay(fun () -> {| cexpr |}))
будет сгенерировано для...
168 просмотров
schedule
05.03.2022
Объедините асинхронный F # и, возможно, вычислительное выражение
Скажем, я хочу вернуть Option в рабочем процессе async :
let run =
async {
let! x = doAsyncThing
let! y = doNextAsyncThing x
match y with
| None -> return None
| Some z -> return Some <| f...
2965 просмотров
schedule
01.04.2022
Выражение вычисления F # для вложенных логических тестов?
Я думаю, что у меня достаточно понимания монад (рабочих процессов) F#, и я вижу несколько мест в своем коде, где их реализация имеет смысл.
Например, у меня есть функция с несколькими вложенными if/then, т.е. функция должна продолжаться только до...
544 просмотров
schedule
29.03.2022
Вычислительные выражения для программиста на Haskell
Я хочу изучить F #, но одна вещь, которая меня смущает, - это синтаксис выражения вычисления (do-notation ??) и дешугаризация.
В haskell у вас есть очень простой класс типов Monad и правила для дешугаризации do-нотации в bind и return. В...
1162 просмотров
schedule
24.09.2022
Выражение вычислений с отслеживанием состояния F#
В настоящее время я изучаю F # и натыкаюсь на несколько камней преткновения; Я думаю, что многое из этого заключается в том, чтобы научиться мыслить функционально.
Одна из вещей, которую я изучаю в данный момент, — это вычислительные выражения, и...
512 просмотров
schedule
30.12.2022
механика пусть! в вычислительных выражениях
В настоящее время я работаю над серией вычислительных выражений на потрясающем веб-сайте fsharpforfunandprofit, и у меня есть вопрос относительно урока 4 «обернутый тип» серии вычислений. Я попытался прочитать немного дальше, но есть одна важная...
160 просмотров
schedule
17.05.2022
Выражения вычислений против аппликативных функторов, а что нет
Не совсем уверен, что заголовок описывает это нормально, но у меня есть примерно следующий код:
пакет.зависимости:
source https://www.nuget.org/api/v2
nuget fsharpx.extras
nuget mongodb.driver
некоторые.fsx:
#r...
269 просмотров
schedule
23.12.2022
Как реализовать List Monad (вычислительное выражение) с условием?
Я пытаюсь понять, как использовать вычислительные выражения F#, и это, безусловно, меня озадачивает.
Следующий пример имеет для меня некоторый смысл.
type ListMonad() =
member o.Bind( (m:'a list), (f: 'a -> 'b list) ) = List.collect f m...
393 просмотров
schedule
02.05.2023
Как я могу вызвать привязку к вычислительному выражению без ключевого слова let?
Скажем, у меня есть это:
MyComputationExpression {
let! addr = Salesrecord.Address
let! name = Salesrecord.Name
return (name + " " + addr)
}
Есть ли способ «развернуть» (вызвать метод bind ) адрес и имя на лету? Вроде как:...
55 просмотров
schedule
12.07.2023
Когда внедрять нулевой элемент в Computation Expression?
Почему я не могу использовать pattern matching function в вычислительных выражениях без реализации члена Zero ?
Например, может ли кто-нибудь объяснить, почему он позволяет разрешать pattern matching expression , но не pattern matching...
69 просмотров
schedule
29.04.2023
Превратить список результатов в результат списка внутри выражения вычисления?
У меня есть Result<'T, 'E> list , который я хотел бы превратить в сингл Result<'T list, 'E> , следуя этим правилам:
Если какой-либо Result является Error , тогда результат должен быть Error
Если результат - Error , он должен...
1297 просмотров
schedule
31.05.2022