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

Eval refactor, fixing bugs in evaluation order #217

Merged
merged 16 commits into from
Jan 4, 2024
Merged

Eval refactor, fixing bugs in evaluation order #217

merged 16 commits into from
Jan 4, 2024

Conversation

kristerr
Copy link
Contributor

@kristerr kristerr commented Dec 8, 2023

This PR wouldn't be possible without help of @MateuszKubuszok. Thank you!

Also, closes: #189, #204, #205.

* WIP with tailRecM

* Cleanup

* Working version. Some documentation. Dependency updates.

* Missing build changes.

* Website 2.12 update.
@luksow luksow changed the title Eval refactor Eval refactor, fixing bugs in evaluation order Jan 3, 2024
scala-steward and others added 10 commits January 3, 2024 21:13
* Update scalafmt-core to 3.7.17

* Reformat with scalafmt 3.7.17

Executed command: scalafmt --non-interactive

* Add 'Reformat with scalafmt 3.7.17' to .git-blame-ignore-revs
Co-authored-by: Łukasz Sowa <contact@luksow.com>
Co-authored-by: Łukasz Sowa <contact@luksow.com>
@luksow luksow requested a review from pk044 January 3, 2024 20:38
@MateuszKubuszok
Copy link

You might want to do it in another PR (and perhaps need a new major version) but since Sealed no longer requires Eval to work, you can implement #168 much easier: you only need to define some:

trait Monad[F[_]] {
  def pure[A](a: A): F[A]
  def flatMap[A, B](fa: F[A])(f: A => F[B]): F[B]
  def tailRecM[A, B](a: A)(f: A => F[Either[A, B]): F[B]
}

required for eval and then create an instance out of Cats' Monad instance as an integration.

@pk044 pk044 merged commit 6f436ba into master Jan 4, 2024
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

inspect is missing inspectF
5 participants