Skip to content

Reactor Integration#706

Merged
pakoito merged 21 commits into
masterfrom
cotel-reactor-integration
Jun 23, 2018
Merged

Reactor Integration#706
pakoito merged 21 commits into
masterfrom
cotel-reactor-integration

Conversation

@Cotel

@Cotel Cotel commented Feb 19, 2018

Copy link
Copy Markdown
Member

Integration with http://projectreactor.io/

Still WIP

@Cotel Cotel self-assigned this Feb 19, 2018
@raulraja

Copy link
Copy Markdown
Member

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

@sbuettner

sbuettner commented Feb 21, 2018

Copy link
Copy Markdown

Just curious, will there also be support for Mono?

@Cotel

Cotel commented Feb 21, 2018

Copy link
Copy Markdown
Member Author

@sbuettner I'm working on Mono instances too 😃

@sbuettner

Copy link
Copy Markdown

@Cotel Thats cool, thanks for response.

@raulraja

raulraja commented Apr 6, 2018

Copy link
Copy Markdown
Member

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

@pakoito

pakoito commented Jun 17, 2018

Copy link
Copy Markdown
Member

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

@Cotel

Cotel commented Jun 17, 2018

Copy link
Copy Markdown
Member Author

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
Copy Markdown
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

@pakoito pakoito left a comment

Copy link
Copy Markdown
Member

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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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

@pakoito pakoito left a comment

Copy link
Copy Markdown
Member

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!

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
Copy Markdown
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

pakoito commented Jun 23, 2018

Copy link
Copy Markdown
Member

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