Вопросы по теме 'computation-expression'

Как превратить прямое конвейерное выражение в выражение вычисления?
Итак, я хочу создать собственное выражение вычисления, которое позволило бы мне повернуть это - testWorld |> subscribe ClickTestButtonAddress [] addBoxes |> addScreen testScreen TestScreenAddress |> setP (Some...
341 просмотров
schedule 08.11.2021

F # Сглаживание вложенных кортежей в вычислительном выражении
У меня есть вычислительное выражение, которое я хочу вернуть в виде уплощенного кортежа в качестве первого элемента и int в качестве второго. Я пытаюсь использовать для этого перегрузку метода. Прямо сейчас компилятор выдает ошибку, говоря, что он...
121 просмотров
schedule 15.09.2021

Почему кажется, что PSeq.map с вычислительным выражением зависает?
Я пишу парсер, используя FSharp.Collections.ParallelSeq и повторить вычисление . Я хотел бы получать HTML-код с нескольких страниц параллельно и повторять запросы, когда они терпят неудачу. Например: open System open...
128 просмотров
schedule 02.04.2022

Преодоление TryWith в вычислительных выражениях
(Не сумев «нащупать» FParsec, я последовал совету, который где-то читал, и сам начал пытаться написать небольшой синтаксический анализатор. Каким-то образом я заметил то, что выглядело как шанс попытаться монадифицировать его, и теперь у меня N...
512 просмотров
schedule 22.04.2022

Переназначить переменную в функции с вычислительным выражением
Основываясь на вопросе Как я могу переназначить переменную в функции в Haskell? , существует решение Haskell для изменения общее количество конголезских слонов Congo 0 в function : main' :: StateT Congo IO () main' = do printElephant...
213 просмотров

Выражение вычисления для построения графа сложных объектов
Учитывая следующие типы: type Trip = { From: string To: string } type Passenger = { Name: string LastName: string Trips: Trip list } Я использую следующие конструкторы: type PassengerBuilder() = member this.Yield(_) =...
102 просмотров
schedule 01.06.2022

асинхронное вычисление не обнаруживает OperationCancelledException
Я пытаюсь сделать асинхронный веб-запрос на URL-адрес, который вернется, если запрос займет слишком много времени. Для этого я использую асинхронный рабочий процесс F # и библиотеку System.Net.Http. Однако я не могу перехватить Task /...
476 просмотров

Реализуйте привязку в пользовательском вычислительном выражении
Я пытаюсь узнать немного больше о вычислительных выражениях F #, реализуя одно из моих собственных. Однако я наткнулся на камень преткновения в отношении метода Bind . Вот что у меня есть на данный момент: type public op<'a> = Op of ('a...
240 просмотров
schedule 24.06.2022

Выражения вычислений F# и оператор возврата
На веб-сайте Try F# они приводят пример вычислительного выражения: type Age = | PossiblyAlive of int | NotAlive type AgeBuilder() = member this.Bind(x, f) = match x with | PossiblyAlive(x) when x >= 0 && x <= 120...
184 просмотров
schedule 16.08.2022

Нужно ли использовать ветвь else в асинхронных выражениях?
Я хочу написать следующий код: let someAsync () = async { if 1 > 2 then return true // Error "this expression is expected to have type unit ..." // I want to place much code here return false } F# почему-то считает, что...
191 просмотров
schedule 05.09.2022

Рекурсивные функции в вычислительных выражениях
Сначала немного предыстории. В настоящее время я изучаю кое-что о комбинаторах монадического синтаксического анализатора. Пока я пытался перенести функцию 'chainl1' из этой статьи ( с. 16-17), я пришел к такому решению: let chainl1 p op =...
617 просмотров

Как изменить реализацию Rx Builder, чтобы исправить исключение переполнения стека?
Я пытаюсь придумать Rx Builder для использования Reactive Extension в синтаксисе F# Computation Expression. Как мне исправить это, чтобы он не взорвал стек? Как пример Seq ниже. И есть ли планы по реализации RxBuilder как части Reactive Extensions...
1464 просмотров

Невозможно определить оператор пользовательского условия выражения вычисления
У меня серьезные трудности с определением condition в следующем коде. Надеюсь на пример и понимание: // a computation expression builder class type Builder() = . . . [<CustomOperation( "condition",...
91 просмотров

Алгоритм рефакторинга как вычислительное выражение?
Этот вопрос содержит спойлеры для тех, кто не решил проблему 61 ​​проекта Euler . Я написал ответ на проблему, которая была императивной, поэтому я решил сделать более общий и функциональный ответ. Мне это удалось, но теперь я пытаюсь понять, как...
146 просмотров

Выражения вычислений F#: можно ли использовать их для упрощения кода?
Недавно я начал использовать вычислительные выражения для упрощения своего кода. Пока что единственным полезным для меня является MaybeBuilder, определенный следующим образом: type internal MaybeBuilder() = member this.Bind(x, f) =...
121 просмотров
schedule 05.04.2023

Ошибка вывода типа в вычислительном выражении
type Identity<'T> = Identity of 'T type IdentityBuilder() = member __.Bind (Identity x) (k : 'a -> Identity<'b>) = k x member __.Return x = Identity x let identity = new IdentityBuilder() let three = Identity 3 let four =...
77 просмотров
schedule 11.01.2023

F # выйти из раннего выражения вычисления?
Пытаясь узнать больше о том, как работают вычислительные выражения, я пытаюсь закодировать построитель, который пропускает оставшуюся часть выражения после оценки блока then оператора if , после чего сам рабочий процесс оценивается как true ....
412 просмотров
schedule 29.02.2024