Skip to content

New type class design#216

Merged
alexandru merged 7 commits intomasterfrom
new-type-class-design
Aug 31, 2016
Merged

New type class design#216
alexandru merged 7 commits intomasterfrom
new-type-class-design

Conversation

@alexandru
Copy link
Member

The monix-types project is meant to provide shims for type-classes provided by Cats and Scalaz.

The purpose is to easily provide type instances for the type-classes in Cats and Scalaz, without the core depending on either of them. These types shouldn't be used outside the context of Monix. However, these types are not only useful for supporting both Cats and Scalaz, but also for abstracting over both Coeval and Task in Monix's own stuff. A type for modeling lazy streaming is planned for Monix 2.1, that should work with both Coeval and Task and it wouldn't be possible to add that implementation in monix-eval and have it working with both Cats and Scalaz, without the bridge that is monix-types.

This pull request is about changing the encoding of the provided type-classes, an encoding inspired by Scato and Scalaz 8. This encoding is lighter and less problematic. No more MonadError.

@codecov-io
Copy link

Current coverage is 84.02% (diff: 38.21%)

No coverage report found for master at b1d6c34.

Powered by Codecov. Last update b1d6c34...237197e

@alexandru alexandru merged commit 9e39d52 into master Aug 31, 2016
@alexandru alexandru deleted the new-type-class-design branch November 8, 2016 17:26
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.

2 participants