Giter VIP home page Giter VIP logo

Comments (6)

gusty avatar gusty commented on June 15, 2024 1

I think I can update the code and make the overload resolution work without needing the NoEagerConstraintApplication attribute.

The problem of using that attribute is worst than just forcing everyone to 6.0.2. AFAIK that attribute won't be recognized by earlier F# compilers.

from fsharp.control.taskseq.

abelbraaksma avatar abelbraaksma commented on June 15, 2024 1

Good points, @gusty. But considering that task uses the same attribute in FSharp.Core, and this library cannot be used without task, the backward compat issue with earlier compilers is irrelevant. Same is true, for instance, for the resumable code in this lib, which isn't supported either by earlier compilers.

@bartelink I've downed the version to 6.0.1. I may reconsider at some point to go to 6.0.0, but that requires a different approach for the overload resolution that I'm not to keen on trying.

This will be part of whatever the next version is (either 0.3.1 or 0.4.0).

from fsharp.control.taskseq.

bartelink avatar bartelink commented on June 15, 2024

Tried to reduce the dependency:

Would still be interested to know the nature of the hard requirement for 6.0.2...

from fsharp.control.taskseq.

abelbraaksma avatar abelbraaksma commented on June 15, 2024

I tried the “earliest version possible”, and the NoEagerConstraintApplication is a requirement, the overload resolution won’t work without it.

The earliest I could make work with everything in the resumable code was 6.0.2, but I’ve changed quite a few things since the first TaskSeq versions, it’s possible I removed something that doesn’t require that anymore. I’d have no problem making the dependency on Core a lower version. In fact, that’d be a plus.

I’ll have to dive into history though, hopefully I recorded the ‘why’ of the decision.

from fsharp.control.taskseq.

abelbraaksma avatar abelbraaksma commented on June 15, 2024

It was done as part of #87, and from the text, it suggests I tried to go as low as possible. Let me create a quick PR and see what happens if I use 6.0.1.

See #123, running now.

from fsharp.control.taskseq.

bartelink avatar bartelink commented on June 15, 2024

Thanks for looking - tbh if I'd seen the need for the attribute, I probably wouldn't have asked in the first instance, but I do appreciate you investigating and the fact that we now have a paper trail ;)

While rippling dependency updates are not ideal, it's clear that there's a reason so this is not a real problem. It's not inconceivable that there are ancillary perf and stability benefits to 6.0.2, so once the option of targeting 6.0.0 is gone it's less critical.

In Equinox and Propulsion, I've since bitten the bullet and upped their min req to 6.0.7 (in order to ensure 6.0.6's fix for the Async.Parallel stack overflow edge case is forced in)

Happy for this to be closed as and when you see fit.

from fsharp.control.taskseq.

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.