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

move Map and Set instances into alleycats #2

Merged

Conversation

kailuowang
Copy link

Luka, I was trying to move Instances for Map and Set to alleycats and I realized that it's probably easier to do it together with this Sorted Instances. Because I found out that there are quite a few reference to the Set and Map instances in cats.core. So it makes sense to do the move Set/Map instance and add SortedSet/Map instances in one go, this way we can just replace every tests in core to use SortedSet or SortedMap instead.
So this is a PR over your branch for the move Set/Map part ( but didn't replace their reference in tests yet). This PR also contains a merge of the latest master branch.
Let me know if you think this would be a good idea.

edmundnoble and others added 13 commits October 21, 2017 11:34
Remove Edmund Noble as maintainer and author
* Links "LawTesting.md" in FAQ and TypeClasses pages

* Rewrites law testing title in FAQ
* moved alleycats in

* address feedback / removed duplicated class
* Add CommutativeApply and Applicative and an instance for Validated[CommutativeSemigroup, ?]

* Make Future a CommutativeApplicative

* Revert "Make Future a CommutativeApplicative"

This reverts commit 0cd4eb9.

* Add unordered traversal for Sets

* Test commutativeApply instances + Nested + Tuple2K instances

* Add unordered traversal for Map

* Fix priority for Nested instances

* Fix priority for Tuple2K instances

* Move methods to typeclass

* Deduplicate Applicative instance

* Try out new typeclasses

* Add UnorderedFoldable and UnorderedTraverse and move traversal functions there

* Remove Set from Foldable docs

* Add extra ref law

* Revert "Add UnorderedFoldable and UnorderedTraverse and move traversal functions there"

This reverts commit d308cf7.

* Revert "Remove Set from Foldable docs"

This reverts commit 0ffbc55.
* Initial version of Parallel

* Add Either/Validated Parallel instance

* Break up syntax for parallel

* Add Parallel syntax tests

* Add Tuple syntax for Parallel

* Add ParallelTests

* Fix Parallel law

* Add more tests

* Add Parallel Kleisli instance

* Add instances for OptionT and EitherT to nested

* Add law tests for parallel OptionT and EitherT

* Make EitherT instance forward to Validated

* Add Kleisli lawTest

* Add WriterT instance

* Add more tests

* Add scaladoc

* Add ApplicativeError instance for MonadError and Parallel

* Add Test that actually hits the implicated ApplicativeError instance

* Fix mixup

* Move appError instance to Parallel companion object

* Fix apperror test

* Add sequential roundtrip law

* Add ZipNEL and ZipNEV and Parallel instances

* Add law for testing that pure is consistent across Parallel pairs

* Add Parallel Serializable tests

* Add EitherT Parallel instance that doesn't require a Parallel Instance for M

* Add ZipVector + Parallel instance

* Add ZipVector test

* Add scaladoc to ApplicativeError and change order of type parameters

* Add Parallel#identity function

* Add identity instances for Future and Id

* Simplify parAp2 implementation

* Refactor Parallel

* Add applicativeError instace method

* Reverse applicativeError and remove redundant .apply

* Simplify further

* Add FailFastFuture + Parallel instance

* Shorten wait times

* Add ZipStream and OneAnd instance

* Convert traits to abstract classes

* Add consistency test for zip stream

* Add Applicative test for Applicative[OneAnd]

* Add parAp test

* Add ZipList and lawtest all Zip* instances

* Add ZipList consistency test

* Add NonEmptyParallel

* Add test cases for ParNonEmptyTraverse

* Update scaladoc

* Remove FailFastFuture and all Zip* instances

* Rename methods in NonEmptyParallel

* optimize AppError

* Add parFlatTraverse and sequence

* Add isomorphic functor law

* Fix law test parameters
@LukaJCB
Copy link
Owner

LukaJCB commented Oct 26, 2017

Thank you so much @kailuowang!

@LukaJCB LukaJCB merged commit 9f0ef36 into LukaJCB:add-sorted-instances Oct 26, 2017
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.

7 participants