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

Reactor Integration #706

Merged
merged 21 commits into from
Jun 23, 2018
Merged

Reactor Integration #706

merged 21 commits into from
Jun 23, 2018

Conversation

Cotel
Copy link
Member

@Cotel Cotel commented Feb 19, 2018

Integration with http://projectreactor.io/

Still WIP

@Cotel Cotel self-assigned this Feb 19, 2018
@raulraja
Copy link
Member

@Cotel Looking good so far!, let us know when this is ready for final review.

@sbuettner
Copy link

sbuettner commented Feb 21, 2018

Just curious, will there also be support for Mono?

@Cotel
Copy link
Member Author

Cotel commented Feb 21, 2018

@sbuettner I'm working on Mono instances too 😃

@sbuettner
Copy link

@Cotel Thats cool, thanks for response.

@raulraja
Copy link
Member

raulraja commented Apr 6, 2018

Ping someone when this is ready for review, you may have to change stuff around once you sync with master

@pakoito
Copy link
Member

pakoito commented Jun 17, 2018

@Cotel ping us when it's ready for review!

@Cotel
Copy link
Member Author

Cotel commented Jun 17, 2018

I think this is ready now @pakoito @raulraja

ApplicativeErrorLaws.laws(MonoK.applicativeError(), EQ(), EQ(), EQ()),
MonadSuspendLaws.laws(MonoK.monadDefer(), EQ(), EQ(), EQ()),
AsyncLaws.laws(MonoK.async(), EQ(), EQ(), EQ()),
AsyncLaws.laws(MonoK.effect(), EQ(), EQ())
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These laws are duplicated. AsyncLaws implies the other typeclass laws are checked too. And our typeclasses inherit from one another so we're safe. Basically, do the same as FluxK in here :D

Copy link
Member

@pakoito pakoito left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please fix the tests before merging! Everything else, good job.

I would also consider adding some docs, even if it's just a copypaste from Rx.

MonadSuspendLaws.laws(MonoK.monadDefer(), EQ(), EQ(), EQ()),
AsyncLaws.laws(MonoK.async(), EQ(), EQ(), EQ()),
AsyncLaws.laws(MonoK.effect(), EQ(), EQ())
AsyncLaws.laws(MonoK.async(), EQ(), EQ())
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Almost there. You need the Traverse laws too!

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

MonoK has no instance for Traverse and SingleK does not have it either 🤔 .

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okey dokey then! :D

Copy link
Member

@pakoito pakoito left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved and cheers for the docs. Please add the missing test, and ready to merge afterwards!

@@ -56,6 +56,7 @@ dependencies {
compile 'io.arrow-kt:arrow-mtl:0.7.2' //optional
compile 'io.arrow-kt:arrow-effects:0.7.2' //optional
compile 'io.arrow-kt:arrow-effects-rx2:0.7.2' //optional
compile 'io.arrow-kt:arrow-effects-reactor:0.7.2' //optional
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Make sure to add this line to the README in the root of the repo. It isn't the same as this one, sadly.

@pakoito pakoito merged commit c7af7eb into master Jun 23, 2018
@pakoito pakoito deleted the cotel-reactor-integration branch June 23, 2018 10:46
@pakoito
Copy link
Member

pakoito commented Jun 23, 2018

Nnnnnnice, good work :D

RawToast pushed a commit to RawToast/kategory that referenced this pull request Jul 18, 2018
* Starting Reactor integration

* Adding some tests

* Adding instances for MonoK

* Including arrow-effects-reactor in settings.gradle

* Updating FluxK

* Updating MonoK

* Fixing tests

* Adding another test for FluxK

* Adding tests for MonoK

* Removing duplicated laws for MonoK

* Adding docs for reactor integration

* Including missing dependencies

* Fixing typo in package name

* Adding reactor dependency line to the root README
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.

5 participants