Git Product home page Git Product logo

Comments (9)

TheAngryByrd avatar TheAngryByrd commented on May 28, 2024 2

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.

TheAngryByrd avatar TheAngryByrd commented on May 28, 2024 1

I may revisit this for 4.0 but closing for now.

from fstoolkit.errorhandling.

TheAngryByrd avatar TheAngryByrd commented on May 28, 2024

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.

TheAngryByrd avatar TheAngryByrd commented on May 28, 2024

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.

pblasucci avatar pblasucci commented on May 28, 2024

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.

TheAngryByrd avatar TheAngryByrd commented on May 28, 2024

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.

pblasucci avatar pblasucci commented on May 28, 2024

Aaahhh... I see. That's actually more reasonable. πŸ‘

from fstoolkit.errorhandling.

l3m avatar l3m commented on May 28, 2024

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.

siwatanejo avatar siwatanejo commented on May 28, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.