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

Include kernel in modules doc #1162

Merged
merged 1 commit into from
Jun 27, 2016
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 7 additions & 4 deletions DESIGN.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,13 +32,16 @@ Cats will be split into modules, both to keep the size of the
artifacts down and also to avoid unnecessarily tight coupling between
type classes and data types.

Initially Cats will support the following modules:
Cats provides the following modules:

* `macros`: Macro definitions needed for `core` and other projects.
* `core`: Definitions for widely-used type classes and data types.
* `laws`: The encoded laws for type classes, exported to assist third-party testing.
* `cats-free`: Free structures such as the free monad, and supporting type classes.
* `laws`: The encoded laws for type classes defined in `core`, exported to assist third-party testing.
* `kernel`: Definitions for the basic algebraic type classes
* `kernel-laws`: The encoded laws for type classes defined in `kernel`, exported to assist third-party testing.
* `free`: Free structures such as the free monad, and supporting type classes.
* `macros`: Macro definitions needed for `core` and other projects.
* `tests`: Verifies the laws, and runs any other tests. Not published.
* `bench`: Benchmarking suites. Not published.

As the type class families grow, it's possible that additional modules
will be added as well. Modules which depend on other libraries
Expand Down