Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build(deps): bump LanguageExt.Core from 5.0.0-beta-28 to 5.0.0-beta-29 #1575

Merged

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Oct 23, 2024

Bumps LanguageExt.Core from 5.0.0-beta-28 to 5.0.0-beta-29.

Release notes

Sourced from LanguageExt.Core's releases.

Sys.IO improvements / Triaged issues + fixes release

Sys.IO improvement

The Sys.IO functions were generalised to support any monad that has the correct Has traits. However, this added a burden to any users of Eff and Aff from v4 of language-ext.

For example, this in v4:

    Console<RT>.writeLine(text)

Would become this in v5:

    Console<Eff<RT>, RT>.writeLine(text)

That works well when you're write entirely generalised IO code, like you see in the Newsletter sample project.

Writing this:

    Console<M, RT>.writeLine(text)

Is clearly not much worse than before. And adds lots of possibilities for writing your IO functions once and have them work with all IO based monads. But, this Console<Eff<RT>, RT>.writeLine(text) is quite ugly to look at in my humble opinion. There's too much clutter and it shows up on every line of IO you write, which doesn't feel good.

So, as Eff<RT, A> is an important type for doing dependecy-injection based IO, I have added Eff specific versions for every static class in the Sys library.

So, for example, as well as Console<M, RT>, there is also a Console<RT> which only works with the Eff<RT, A> monad. This allows existing code that uses Eff<RT, A> to work without a change.

I'm not a huge fan of doubling up the work like this, but I think this is a pragmatic solution that works without much drama.

Fixes and Updates:

  • Unit made into a Monoid
  • Option<A> made into a Monoid
  • The ToEnumerable extension for Foldable has been renamed to ToIterable (it was missed on the previous refactor)
  • StreamT internals made lazy
    • Allows the removal of bespoke types that deal only with IEnumerable and IAsyncEnumerable
  • HeadUnsafe removed from StreamT
    • HeadOrFail extension to StreamT added. Only works with Fallible monads.
  • Fix for FileIO move missing? louthy/language-ext#1174
  • Removed MemoryFS, replaced with use of /tmp as a virtual file-system. Fixes:

Additions, but not ready for primetime

  • Source<A> - a source of events that can be subscribed to. Subscriptions yield a StreamT
Commits
  • ac4f314 v5.0.0-beta-28
  • 0aab1c6 Fix for FileIO move missing
  • 82c514c Missed from last commit
  • 70bb62b Fix for MemoryFS
  • 4afc1b9 Option made into a Monoid
  • 74adace IO pure bind stricter
  • cf421df Use simpler Eff versions of Sys functions
  • c999e6b Direct Eff RT support in Sys
  • 944e004 Foldable ToEnumerable extension renamed to ToIterable
  • c2d0d66 Merge remote-tracking branch 'origin/main'
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [LanguageExt.Core](https://github.com/louthy/language-ext) from 5.0.0-beta-28 to 5.0.0-beta-29.
- [Release notes](https://github.com/louthy/language-ext/releases)
- [Commits](louthy/language-ext@v5.0.0-beta-28...v5.0.0-beta-29)

---
updated-dependencies:
- dependency-name: LanguageExt.Core
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot added the dependencies Pull requests that update a dependency file label Oct 23, 2024
Base automatically changed from develop to master October 26, 2024 20:05
@pkuehnel pkuehnel changed the base branch from master to develop October 26, 2024 20:12
@pkuehnel pkuehnel merged commit 45d987d into develop Oct 27, 2024
6 checks passed
@pkuehnel pkuehnel deleted the dependabot/nuget/develop/LanguageExt.Core-5.0.0-beta-29 branch October 27, 2024 23:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant