Comments (9)
for v5 of FsToolkit.ErrorHandling i'm removing Ply as a dependency and requiring F# 6 Core as a minimum. Because of that, I'm re-evaluating moving all the task code into the core package.
However I'm concerned with what the migration would look like. How will I be able to prevent someone from having v5 of FsToolkit.ErrorHandling and v4 of FsToolkit.ErrorHandling.TaskResult?
Trying to weight the options because no matter how loud you are in the release notes or social media, someones not gonna read the memo.
from fstoolkit.errorhandling.
I may revisit this for 4.0 but closing for now.
from fstoolkit.errorhandling.
I listed some hurdles in regards to this in: #142 (comment)
- I was able to address the F# 6.0 concern by creating separate packages for netstandard2.0 and netstandard2.1.
- I didn't want to deal with all the Fable concerns (unless they have shims for task now)
from fstoolkit.errorhandling.
use the FSharp.Core task { } block
If you mean by trying to recreate TaskResult in terms of task CE
, unfortunately that isn't possible. taskResult (and friends) need their own Resumable Code to work correctly.
from fstoolkit.errorhandling.
First off: I am in favor of setting .NET 6 as the minimum target runtime. π
As for collapsing the libraries... I canΒ΄t think of a technical way to prevent weird dependency mish-mashes π But I still think it's a reasonable idea.
from fstoolkit.errorhandling.
I am in favor of setting .NET 6 as the minimum target runtime. π
To clarify, that is not what I'm doing (I know this gets confusing). I'm setting the minimum to be F# Core 6 (when tasks were introduced) and still be on netstandard2.0/netstandard2.1. There isn't a compelling reason for this library to move to net6 unless someone really wants PoolingValueTask support.
from fstoolkit.errorhandling.
Aaahhh... I see. That's actually more reasonable. π
from fstoolkit.errorhandling.
However I'm concerned with what the migration would look like. How will I be able to prevent someone from having v5 of FsToolkit.ErrorHandling and v4 of FsToolkit.ErrorHandling.TaskResult?
Trying to weight the options because no matter how loud you are in the release notes or social media, someones not gonna read the memo.
That true, unfortunately. Despite that, it seems like a good idea and I personally would prefer an integration of TaskResult into the main package.
from fstoolkit.errorhandling.
by default and use the FSharp.Core task { } block.
What's wrong with async{}
blocks? They are actually more idiomatic F#.
from fstoolkit.errorhandling.
Related Issues (20)
- Make Result.defaultWith accept error, or remove it HOT 2
- Overload issues with TaskResult on generic functions HOT 2
- Add Option.ofPair HOT 5
- Add asyncValidation CE, or make asyncResult (and result?) CEs work with 'and!' HOT 4
- Can we reinstate `TaskResult.foldResult` and the like? HOT 4
- Add Light/Dark Theme Toggle to Gitbook Docs
- Support ValueOption in FsToolkit.Errorhandling.asyncOption HOT 3
- Support TaskValidation to match AsyncValidation HOT 2
- Binding Async<'T option * 'T option> to AsyncValidation is having overload errors HOT 1
- Common Language Runtime detected an invalid program HOT 2
- TaskOption/TaskResult defaultValue and defaultWith
- Support requireValueSome and requireValueNone in Result, TaskResult and AsyncResult
- Async/Job/Task wrapped result + require functions helpers
- feat(Seq): Add sequenceResultA HOT 6
- Readme video unavailable HOT 1
- usage with npgsql HOT 7
- TaskResultOption compatibility with TaskResult and friends HOT 4
- TaskResult `return! Error ()` results in a compiler error: "Type constraint mismatch". The type 'TaskResultCode<,'b,> is not compatible with typeΒ 'TaskResultCode<unit,string,'a>' HOT 2
- Consider using other name for Option.filter HOT 3
- Combine use of Async.singleton & Async.retn
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fstoolkit.errorhandling.