-
-
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
added FAQ item diff between cats and scalaz #1901
Merged
Merged
Changes from 7 commits
Commits
Show all changes
14 commits
Select commit
Hold shift + click to select a range
3e1b42c
Update faq.md
kailuowang 5eff431
typos
kailuowang ae0ca84
typo
kailuowang 9255b22
typo
kailuowang aee5a6d
Update faq.md
kailuowang cc98cc2
Update faq.md
kailuowang d8d6656
Update faq.md
kailuowang 929c95b
feedback
kailuowang 9d83e02
Update faq.md
kailuowang a64d2f4
Update faq.md
kailuowang 24c43d1
Update faq.md
kailuowang 24268e6
Update faq.md
kailuowang fdb4e7f
Update faq.md
kailuowang c2a1e27
Update faq.md
kailuowang File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -8,7 +8,7 @@ position: 4 | |
# Frequently Asked Questions | ||
|
||
## Questions | ||
|
||
* [What is the difference between cats and scalaz](#diff-scalaz) | ||
* [What imports do I need?](#what-imports) | ||
* [Where is right-biased `Either`?](#either) | ||
* [Why is the compiler having trouble with types with more than one type parameter?](#si-2712) | ||
|
@@ -24,6 +24,14 @@ position: 4 | |
* [What does this symbol mean?](#symbol) | ||
* [How can I help?](#contributing) | ||
|
||
## <a id="diff-scalaz" href="#diff-scalaz"></a>What is the difference between cats and scalaz? | ||
|
||
The goal for both Cats and [Scalaz](https://github.com/scalaz/scalaz) are the same: facilitate pure functional programming in Scala applications; the underlying core strategy is different. Scalaz took the approach of trying to provide a single batteries-included *standard library* for FP that powers the Scala applications. Cats, on the other hand, aims to help build an [ecosystem](/cats/#ecosystem) of pure FP libraries by providing a solid and stable foundation. These libaries can have their own styles and personalities, competing with each other, while at the same time playing nice. It is through this ecosystem of FP libraries (cats included) that Scala applications can be powered with "FP awesome-ness" and beyond by picking whatever best fit their needs. | ||
|
||
Based on this core strategy, Cats took a [modular](/cats/#modularity) approach and focuses on providing core, [binary compatible](/cats/#a-namebinary-compatibility-and-versioning), [approachable](/cats/#approachability) and [efficient](/cats/#efficiency) abstractions. It also takes great effort in providing a welcoming and supportive [community environment](https://gitter.im/typelevel/cats) and a comprehensive beginner-friendly [documentation](/cats/#documentation). | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. When discussing the supportive community, I think that it might make sense to point out that the community is governed by the code of conduct, as this is another difference from scalaz. |
||
|
||
We believe that both Cats and Scalaz strategies have their merits and shortcomings, and it's a positive thing for the scala community to have both. | ||
|
||
## <a id="what-imports" href="#what-imports"></a>What imports do I need? | ||
|
||
The easiest approach to cats imports is to import everything that's commonly needed: | ||
|
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe this shouldn't be the first item in the list. I think that a lot of people come to Cats without familiarity with Scalaz, so something like "What imports do I need" would probably be a more straightforward first item for them than introducing another FP library.