-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Introduce cats-kernel and remove algebra dependency #1001
Commits on Apr 25, 2016
-
Get algebra-core added to Cats.
This commit sets up the basic SBT subproject configuration and moves the core algebra type classes into the cats.kernel package.
Configuration menu - View commit details
-
Copy full SHA for 03aad13 - Browse repository at this point
Copy the full SHA 03aad13View commit details -
Port relevant instances from algebra.std to cats.kernel.std.
Algebra doesn't currently provide generic semigroups for number types, so this commit doesn't have any of those either. Cats is already working around this so that shouldn't be a big change.
Configuration menu - View commit details
-
Copy full SHA for 38a3dc8 - Browse repository at this point
Copy the full SHA 38a3dc8View commit details -
Get the relevant bits of algebra.laws ported over.
There are a few things here: 1. Many of algebra's interesting laws apply to rings/lattices. 2. We introduce a (laws-only) dependency on catalysts-platform. 3. Unlike Cats, we'll run the tests in kernel-laws' tests.
1Configuration menu - View commit details
-
Copy full SHA for 157710f - Browse repository at this point
Copy the full SHA 157710fView commit details -
Get law tests compiling but not running.
This commit ports over the law tests which make sense in the context of cats-kernel. For some reason the tests aren't being run right now, but at least they compile.
Configuration menu - View commit details
-
Copy full SHA for ceb94cc - Browse repository at this point
Copy the full SHA ceb94ccView commit details -
Configuration menu - View commit details
-
Copy full SHA for 673d045 - Browse repository at this point
Copy the full SHA 673d045View commit details -
Configuration menu - View commit details
-
Copy full SHA for d19a098 - Browse repository at this point
Copy the full SHA d19a098View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3378af3 - Browse repository at this point
Copy the full SHA 3378af3View commit details -
After this commit, the intention is that none of the algebra types are used. The tests pass and things seem to work. Next step is to actually remove the algebra dependency.
Configuration menu - View commit details
-
Copy full SHA for 34e206a - Browse repository at this point
Copy the full SHA 34e206aView commit details -
Remove the algebra dependency.
After clean, validate passed. I think this branch is good to go.
Configuration menu - View commit details
-
Copy full SHA for 041a06a - Browse repository at this point
Copy the full SHA 041a06aView commit details -
Configuration menu - View commit details
-
Copy full SHA for f8e3910 - Browse repository at this point
Copy the full SHA f8e3910View commit details -
Configuration menu - View commit details
-
Copy full SHA for e6bd8fe - Browse repository at this point
Copy the full SHA e6bd8feView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4b8b789 - Browse repository at this point
Copy the full SHA 4b8b789View commit details -
Configuration menu - View commit details
-
Copy full SHA for ada6b75 - Browse repository at this point
Copy the full SHA ada6b75View commit details -
Improve testing, remove lawless instance.
This commit fixes some problems which better testing exposed. The biggest was that when we moved from the "sparse vector" interpretation of maps to the "strict" interpretation some of our instances became unlawful. We can't define a group directly on maps because we can't enforce the equivalence of "absent key" and "present key with empty value".
Configuration menu - View commit details
-
Copy full SHA for de8a2fc - Browse repository at this point
Copy the full SHA de8a2fcView commit details
Commits on Apr 26, 2016
-
Optimize eqv/partialCompare/compare using eq where relevant.
This is an optimization that we've known about for awhile and that Oscar suggested should be added to some of the instances for Eq, PartialOrder, and Order (those where the cost of doing the check can be linear).
Configuration menu - View commit details
-
Copy full SHA for fc0acf2 - Browse repository at this point
Copy the full SHA fc0acf2View commit details -
Address some of Cody's review comments.
This does the following: 1. Fixes a lot of return types. 2. Removes cats.kernel.std.array 3. Removes the unused cats.kernel.Priority 4. Improves some comments 5. Makes a small efficiency improvement for Monoid[Map[K, V]]
Configuration menu - View commit details
-
Copy full SHA for 5f408e1 - Browse repository at this point
Copy the full SHA 5f408e1View commit details -
Merge remote-tracking branch 'upstream/master' into topic/kernel2
This fixes the merge conflicts and also re-removes algebra.
Configuration menu - View commit details
-
Copy full SHA for d2dcb23 - Browse repository at this point
Copy the full SHA d2dcb23View commit details
Commits on Apr 27, 2016
-
Change function traits to be abstract classes.
This commit also adds some "missing" function traits (as abstract classes) and replaces an instance of c.isNaN with isNaN(c) for performance.
Configuration menu - View commit details
-
Copy full SHA for 8fe8938 - Browse repository at this point
Copy the full SHA 8fe8938View commit details
Commits on Apr 29, 2016
-
Configuration menu - View commit details
-
Copy full SHA for aac4652 - Browse repository at this point
Copy the full SHA aac4652View commit details