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

Conversation

Projects
None yet
5 participants
@Cotel
Collaborator

Cotel commented Feb 19, 2018

Integration with http://projectreactor.io/

Still WIP

@Cotel Cotel self-assigned this Feb 19, 2018

@raulraja

This comment has been minimized.

Member

raulraja commented Feb 19, 2018

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

@sbuettner

This comment has been minimized.

Contributor

sbuettner commented Feb 21, 2018

Just curious, will there also be support for Mono?

@Cotel

This comment has been minimized.

Collaborator

Cotel commented Feb 21, 2018

@sbuettner I'm working on Mono instances too 😃

@sbuettner

This comment has been minimized.

Contributor

sbuettner commented Feb 21, 2018

@Cotel Thats cool, thanks for response.

@raulraja

This comment has been minimized.

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

Cotel added some commits Jun 15, 2018

Merge branch 'master' of https://github.com/arrow-kt/arrow into cotel…
…-reactor-integration

# Conflicts:
#	settings.gradle.kts
@pakoito

This comment has been minimized.

Member

pakoito commented Jun 17, 2018

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

@Cotel

This comment has been minimized.

Collaborator

Cotel commented Jun 17, 2018

I think this is ready now @pakoito @raulraja

pakoito added some commits Jun 17, 2018

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())

This comment has been minimized.

@pakoito

pakoito Jun 22, 2018

Member

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

@pakoito

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())

This comment has been minimized.

@pakoito

pakoito Jun 23, 2018

Member

Almost there. You need the Traverse laws too!

This comment has been minimized.

@Cotel

Cotel Jun 23, 2018

Collaborator

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

This comment has been minimized.

@pakoito

pakoito Jun 23, 2018

Member

Okey dokey then! :D

@pakoito

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

This comment has been minimized.

@pakoito

pakoito Jun 23, 2018

Member

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

Cotel and others added some commits Jun 23, 2018

@pakoito pakoito merged commit c7af7eb into master Jun 23, 2018

2 checks passed

continuous-integration/travis-ci/pr The Travis CI build passed
Details
continuous-integration/travis-ci/push The Travis CI build passed
Details

@pakoito pakoito deleted the cotel-reactor-integration branch Jun 23, 2018

@pakoito

This comment has been minimized.

Member

pakoito commented Jun 23, 2018

Nnnnnnice, good work :D

RawToast added a commit to RawToast/kategory that referenced this pull request Jul 18, 2018

Reactor Integration (arrow-kt#706)
* 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