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

Fix typo #2876

Merged
merged 3 commits into from
Jun 14, 2019
Merged
Show file tree
Hide file tree
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
8 changes: 4 additions & 4 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ Cats 2.0.0-M1 breaks binary compatibility on cats-laws, cats-kernel-laws, cats-t

### Breaking changes

* cats-laws and cats-kernel-laws now depend on Scalacheck 1.14.0 which is not binary compatible with Scalacheck 1.13.
* cats-laws and cats-kernel-laws now depend on ScalaCheck 1.14.0 which is not binary compatible with ScalaCheck 1.13.
* cats-testkit now depends on Scalatest 3.1.0-SNAP9 whics is not backward compatible with Scalatest 3.0.x.
* alleycats no longer supports export-hook.
* [#2672](https://github.com/typelevel/cats/pull/2672) Alter from Reflexitivity to Reflexivity by @mattkohl
Expand Down Expand Up @@ -780,7 +780,7 @@ This is the only planned release candidate release prior to 1.0.0.

To migrate from 1.0.0-MF.

* The rename of `Cartesian` to `Semigroupal` and `EitherT.liftT` to `EitherT.liftF` can be done automatically through scalafix we provide. See instructions [here](https://github.com/typelevel/cats/blob/master/scalafix/README.md).
* The rename of `Cartesian` to `Semigroupal` and `EitherT.liftT` to `EitherT.liftF` can be done automatically through Scalafix we provide. See instructions [here](https://github.com/typelevel/cats/blob/master/scalafix/README.md).
* For `FlatMap`'s `>>` and `<<`, use `Apply`'s `*>` and `<*` instead.
* `Profunctor` and `Strong` were moved to the `cats.arrow` package, `Bifunctor`, `Invariant` and `Contravariant` were moved to the `cats` root package.
* `SemigroupK[λ[α => Kleisli[F, α, α]]]` and `MonoidK[λ[α => Kleisli[F, α, α]]]` are no longer implicitly available, Use `Kleisli.endoSemigroupK` and `Kleisli.endoMonoidK` to get them explicitly.
Expand Down Expand Up @@ -1631,7 +1631,7 @@ published under the `org.typelevel` group from the
[Typelevel](https://github.com/typelevel) organization on GitHub (previous
releases had been published to `org.spire-math` from `non/cats`). This means
that users will need to change the `groupId` for their Cats dependencies when
updating. If you have a line like this in your SBT build configuration, for
updating. If you have a line like this in your `sbt` build configuration, for
example:

```scala
Expand Down Expand Up @@ -1981,7 +1981,7 @@ Version 0.2.0 is the second release of the Cats library.

The most exciting feature of this release is Scala.js support, which
comes courtesy of much hard work by the Scala.js community (especially
Alistair Johnson). The SBT build configuration and project layout were
Alistair Johnson). The `sbt` build configuration and project layout were
updated to support building for both the JVM and JS platforms.

Since the 0.1.2 release there was wide agreement that the split
Expand Down
12 changes: 6 additions & 6 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ skip these steps and jump straight to submitting a pull request.
7. [Write examples](#write-examples)
8. [Submit pull request](#submit-a-pull-request)

### Find something that belongs in cats
### Find something that belongs in Cats

Looking for a way that you can help out? Check out our [open issues](https://github.com/typelevel/cats/issues) and look for ones tagged as _**help wanted**_ or _**low-hanging fruit**_. These issues are the easiest way to start contributing, but if you find other items that catch your eye, you're most than welcome to tackle them!

Expand All @@ -41,14 +41,14 @@ Make sure that it's not already assigned to someone and that nobody has left a c
working on and offer to collaborate.)

Have an idea for something new? That's great! We recommend that you
make sure it belongs in cats before you put effort into creating a
make sure it belongs in Cats before you put effort into creating a
pull request. The preferred ways to do that are to either:

* [create a GitHub issue](https://github.com/typelevel/cats/issues/new)
describing your idea.
* get feedback in the [cats Gitter room](https://gitter.im/typelevel/cats).

Things that belong in cats generally have the following characteristics:
Things that belong in Cats generally have the following characteristics:

* Their behavior is governed by well-defined [laws](https://typelevel.org/cats/typeclasses.html#laws).
* They provide general abstractions.
Expand All @@ -75,7 +75,7 @@ depends on Cats is probably the best plan.
Cats has other _companion_ projects, described next:

* [cats-effect](https://github.com/typelevel/cats-effect): a project aimed to provide a standard IO type for the Cats ecosystem, as well as a set of typeclasses (and associated laws) which characterize general effect types.
* [cats-mtl](https://github.com/typelevel/cats-mtl): provides transformer typeclasses for cats' Monads, Applicatives and Functors.
* [cats-mtl](https://github.com/typelevel/cats-mtl): provides transformer typeclasses for Cats' Monads, Applicatives and Functors.
* [mouse](https://github.com/typelevel/mouse): a small companion to the Cats functional programming library for Scala. It includes convenience extension methods for Scala standard library classes, including some found in scalaz that are not in Cats.


Expand Down Expand Up @@ -161,7 +161,7 @@ with [Discipline](https://github.com/typelevel/discipline) for law checking, and
- It is also a goal that, for every combination of data type and supported type class instance:
- Appropriate law checks for that combination are included to ensure that the instance meets the laws for that type class.
- A serializability test for that combination is also included, such that we know that frameworks which
rely heavily on serialization, such as `Spark`, will have strong compatibility with `cats`.
rely heavily on serialization, such as `Spark`, will have strong compatibility with `Cats`.
- Note that custom serialization tests are not required for instances of type classes which come from
`algebra`, such as `Monoid`, because the `algebra` laws include a test for serialization.
- For testing your laws, it is advised to check [this guide](https://typelevel.org/cats/typeclasses/lawtesting.html).
Expand Down Expand Up @@ -285,7 +285,7 @@ immediately so that we can support you.

## Nix Cats Development Environment

Since Cats development can include the Scala runtime, the Scala.js runtime, the Cats website, and more; a number of dependencies (SBT, Node.js, Jekyll, etc) can be needed to work on Cats. Managing these dependencies globally can be a hassle and can lead to version conflicts. To make this easier to manage in an isolated development environment, Cats provides a `shell.nix` for anyone using the [Nix package manager](https://nixos.org/nix/).
Since Cats development can include the Scala runtime, the Scala.js runtime, the Cats website, and more; a number of dependencies (sbt, Node.js, Jekyll, etc) can be needed to work on Cats. Managing these dependencies globally can be a hassle and can lead to version conflicts. To make this easier to manage in an isolated development environment, Cats provides a `shell.nix` for anyone using the [Nix package manager](https://nixos.org/nix/).

To use the Nix-based Cats development environment:

Expand Down
2 changes: 1 addition & 1 deletion PROCESS.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ For non-milestone releases (e.g. 2.0.0-M1), we shall release from a release bran

Before the release, the tests and other validation must be passing.

Currently, the best way to release cats is:
Currently, the best way to release Cats is:

1. Run `+ clean` to ensure a clean start.
2. Run `+ package` to ensure everything builds.
Expand Down
21 changes: 9 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* **Jun 3 2019** [Cats 1.6.1 is released](https://github.com/typelevel/cats/releases/tag/v1.6.1) with backported bug fixes
* **Jun 1 2019** [Cats 2.0.0-M3 is released](https://github.com/typelevel/cats/releases/tag/v2.0.0-M3) with support for Scala 2.13.0-RC3
* **May 25 2019** [Cats 2.0.0-M2 is released](https://github.com/typelevel/cats/releases/tag/v2.0.0-M2) with support for Scala 2.13.0-RC2
* **Apr 26 2019** [We launched a sustainability program](https://typelevel.org/blog/2019/04/24/typelevel-sustainability-program-announcement.html). Please consider supporting us.
* **Apr 26 2019** [We launched a sustainability program](https://typelevel.org/blog/2019/04/24/typelevel-sustainability-program-announcement.html). Please consider supporting us.
* **Apr 25 2019** [Cats 2.0.0-M1 is released](https://github.com/typelevel/cats/releases/tag/v2.0.0-M1) with binary compatibility with 1.x on `cats-kernel`, `cats-core` and `cats-free`
* **Feb 15 2019** [Cats 2019 roadmap](https://github.com/typelevel/cats/blob/master/ROADMAP_2019.md) is published.
* **Jan 31 2019** Cats 1.6.0 is released.
Expand Down Expand Up @@ -58,17 +58,14 @@ Gold Sponsors are those who have pledged $5,000 to $10,000.

Silver Sponsors are those who have pledged $2,000 to $5,000.


<a href="https://ebiznext.com/"><img src="http://typelevel.org/cats/img/sponsors/ebiznext.png" style="margin-bottom:15px; margin-right: 10px" /></a>
<a href="https://ebiznext.com/"><img src="http://typelevel.org/cats/img/sponsors/ebiznext.png" style="margin-bottom:15px; margin-right: 10px" /></a>
<a href="https://www.inner-product.com/"><img src="http://typelevel.org/cats/img/sponsors/inner-product.png" style="margin-bottom:10px; margin-right: 10px"/></a>


<a class="dbox-donation-button" href="https://donorbox.org/typelevel-sustainability-program-2019?default_interval=m" style="background:#eee; color: #5B5988; text-decoration: none;font-family: Verdana,sans-serif;display: inline-block;font-size: 13px;padding: 10px 20px 10px 20px; -webkit-border-radius: 3px; -moz-border-radius: 2px; border-radius: 20px; border: 1px solid#5B5988;" >BECOME A SPONSOR</a>

### Getting Started

Cats is currently available for Scala 2.10 (up to 1.2.x), 2.11, 2.12, 2.13.0, and [Scala.js](http://www.scala-js.org/).

Cats is currently available for Scala 2.10 (up to 1.2.x), 2.11, 2.12, 2.13.0, and [Scala.js](http://www.scala-js.org/).

Cats relies on improved type inference via the fix for [SI-2712](https://github.com/scala/bug/issues/2712), which is not enabled by default. For **Scala 2.11.9 or later** you should add the following to your `build.sbt`:

Expand Down Expand Up @@ -143,12 +140,12 @@ By sharing the same set of type classes, instances and data types provided by Ca
* [newts](https://github.com/julien-truffaut/newts): Defines newtypes compatible with Cats type classes
* [origami](https://github.com/atnos-org/origami): monadic folds
* [refined](https://github.com/fthomas/refined): simple refinement types for Scala
* [shims](https://github.com/djspiewak/shims): seamless interoperability for cats and scalaz typeclasses and datatypes
* [shims](https://github.com/djspiewak/shims): seamless interoperability for Cats and scalaz typeclasses and datatypes

#### Libraries with more specific uses

* [atto](https://github.com/tpolecat/atto): friendly little text parsers
* [cats-scalacheck](https://github.com/ChristopherDavenport/cats-scalacheck): cats typeclass instances for scalacheck
* [cats-scalacheck](https://github.com/ChristopherDavenport/cats-scalacheck): Cats typeclass instances for ScalaCheck
* [cats-time](https://github.com/ChristopherDavenport/cats-time): cats typeclass instances for java time
* [circe](https://github.com/circe/circe): pure functional JSON library
* [Ciris](https://github.com/vlovgr/ciris): Lightweight, extensible, and validated configuration loading in Scala
Expand Down Expand Up @@ -183,8 +180,8 @@ By sharing the same set of type classes, instances and data types provided by Ca
* [seals](https://github.com/durban/seals): tools for schema evolution and language-integrated schemata
* [sup](https://github.com/kubukoz/sup): Composable, purely functional healthchecks in Scala
* [tsec](https://github.com/jmcardon/tsec/): Typesafe, functional, general purpose cryptography and security library
Your project talks cats too? [Submit a PR to add it here!](https://github.com/typelevel/cats/edit/master/README.md)

Your project talks Cats too? [Submit a PR to add it here!](https://github.com/typelevel/cats/edit/master/README.md)

*The full-size [Cats logo](https://typelevel.org/cats/img/cats-logo.png) is available for use for Cats related projects, contents, souvenirs, etc.*

Expand Down Expand Up @@ -247,7 +244,7 @@ with the previous `1.0.x` versions. I.E. the new JAR will be a drop-in replaceme
the old one. This is critical when your application has a diamond
dependency on Cats - depending on two or more libraries that all depend on Cats.
If one library upgrades to the new `1.1.0` Cats before the other one does, your
application still runs thanks to this backward binary compatibility.
application still runs thanks to this backward binary compatibility.

Also worth noting is that according to semantic versioning,
*MINOR* version Y (x.Y.z | x > 0) MUST be incremented
Expand Down Expand Up @@ -347,7 +344,7 @@ The current maintainers (people who can merge pull requests) are:
We are currently following a practice of requiring at least two
sign-offs to merge code PRs (and for large or contentious issues we may
wait for more). For typos, documentation improvements or minor build fix we
relax this to a single sign-off. More detail in the [process document](https://github.com/typelevel/cats/blob/master/PROCESS.md).
relax this to a single sign-off. More detail in the [process document](https://github.com/typelevel/cats/blob/master/PROCESS.md).


### Copyright and License
Expand Down
10 changes: 5 additions & 5 deletions ROADMAP_2019.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,19 @@ A Cats 2.0 is released earlier in the year **without any breaking changes on mos

The followings are the steps in each quarter.

## Q1
## Q1
#### Release 1.6 [already done]
#### Release 2.0: This is not the Cats 2.0 we’ve been discussing in the past. Most modules remain fully binary compatible with Cats 1.x on all Scala versions. The only breaking changes are:
* Scalacheck 1.13, update to Scalacheck 1.14
* ScalaCheck 1.13, update to ScalaCheck 1.14
* breaking changes for Cats-laws

## Q2
## Q2
Start a Scala 2.11 dedicated branching scheme:
* Branch master - drops Scala 2.11, maintains is BC with 1.x
* Branch scala2_11 - Scala 2.11 code
New changes to master have to be ported to branch scala2_11 in a 2.11 BC compatible way and try to maintain as use site source compatible as possible - e.g. a new type class method added to master is added to a syntax trait method in scala2_11 branch.
### Release Cats 2.1 RC1 on both Scala 2.11 and Scala 2.12+
Note that 2.11 and 2.12+ code are NOT source compatible with each other, however, they will still maintain source compatibility with 2.0 and 1.x.
Note that 2.11 and 2.12+ code are NOT source compatible with each other, however, they will still maintain source compatibility with 2.0 and 1.x.
### Release Cats 2.1 RC2
### Release Cats 2.1

Expand All @@ -26,7 +26,7 @@ New changes to master have to be ported to branch scala2_11 in a 2.11 BC compati
### Release Cats 2.2
### Release Cats 2.3

## Q4
## Q4
### Release Cats 2.4 - last release on Scala 2.11
### Stops actively maintaining scala2_11 branch
### Release Cats 2.5 without scala 2.11
6 changes: 3 additions & 3 deletions alleycats-core/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ other cases, type classes which lack laws or constraints may still be
useful in some cases (e.g. `Empty[_]`, a type class which provides
some notion of "emptiness").

Rather than argue about whether to permit these types in cats proper, we
Rather than argue about whether to permit these types in Cats proper, we
provide a (slightly disreputable) home for them here.

### Type classes
Expand Down Expand Up @@ -106,13 +106,13 @@ values of a map as a `Foldable` collection. Alleycats provides a `Foldable[Itera
import cats.implicits._
import alleycats.std.iterable._

//Result "AppleOrange"
// Result "AppleOrange"
Map(1 -> "Apple", 2 -> "Orange").values.combineAll
```

### Contributing

This module's goal is to be very liberal about accepting type class
instances, but to only provide instances which are absent from
cats proper. Law-abiding instances will end up in cats, and everything else will
Cats proper. Law-abiding instances will end up in Cats, and everything else will
end up here.
10 changes: 5 additions & 5 deletions build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -56,12 +56,12 @@ lazy val commonSettings = Seq(
resolvers ++= Seq(Resolver.sonatypeRepo("releases"), Resolver.sonatypeRepo("snapshots")),
parallelExecution in Test := false,
scalacOptions in (Compile, doc) := (scalacOptions in (Compile, doc)).value.filter(_ != "-Xfatal-warnings"),
//todo: reenable doctests on 2.13 once it's officially released. it's disabled for now due to changes to the `toString` impl of collections
// TODO: reenable doctests on 2.13 once it's officially released. it's disabled for now due to changes to the `toString` impl of collections
doctestGenTests := {
val unchanged = doctestGenTests.value
if (priorTo2_13(scalaVersion.value)) unchanged else Nil
},
//todo: re-enable disable scaladoc on 2.13 due to https://github.com/scala/bug/issues/11045
// TODO: re-enable disable scaladoc on 2.13 due to https://github.com/scala/bug/issues/11045
sources in (Compile, doc) := {
val docSource = (sources in (Compile, doc)).value
if (priorTo2_13(scalaVersion.value)) docSource else Nil
Expand Down Expand Up @@ -118,7 +118,7 @@ lazy val commonJsSettings = Seq(
scalaJSStage in Global := FastOptStage,
parallelExecution := false,
jsEnv := new org.scalajs.jsenv.nodejs.NodeJSEnv(),
// batch mode decreases the amount of memory needed to compile scala.js code
// batch mode decreases the amount of memory needed to compile Scala.js code
scalaJSOptimizerOptions := scalaJSOptimizerOptions.value.withBatchMode(isTravisBuild.value),
// currently sbt-doctest doesn't work in JS builds
// https://github.com/tkawachi/sbt-doctest/issues/52
Expand All @@ -135,7 +135,7 @@ lazy val commonJvmSettings = Seq(
)

lazy val commonNativeSettings = Seq(
scalaVersion := "2.11.12", //TODO load scala version form .travis.yml: https://github.com/dwijnand/sbt-travisci/issues/11
scalaVersion := "2.11.12", // TODO: load scala version form .travis.yml: https://github.com/dwijnand/sbt-travisci/issues/11
crossScalaVersions := Seq("2.11.12")
)

Expand Down Expand Up @@ -806,7 +806,7 @@ def commonScalacOptions(scalaVersion: String) =
) ++ (if (priorTo2_13(scalaVersion))
Seq(
"-Yno-adapted-args",
"-Xfatal-warnings", //todo: add the following two back to 2.13
"-Xfatal-warnings", // TODO: add the following two back to 2.13
"-deprecation"
)
else
Expand Down
4 changes: 2 additions & 2 deletions docs/src/main/tut/datatypes/freemonad.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,11 @@ In particular, *free monads* provide a practical way to:
- build an embedded DSL (domain-specific language)
- retarget a computation to another interpreter using natural transformations

> (In cats, the type representing a *free monad* is abbreviated as `Free[_]`.)
> (In Cats, the type representing a *free monad* is abbreviated as `Free[_]`.)

## Using Free Monads

If you'd like to use cats' free monad, you'll need to add a library dependency
If you'd like to use Cats' free monad, you'll need to add a library dependency
for the `cats-free` module.

A good way to get a sense for how *free monads* work is to see them in
Expand Down
2 changes: 1 addition & 1 deletion docs/src/main/tut/datatypes/oneand.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import cats.data.OneAnd
type NonEmptyList[A] = OneAnd[List, A]
```

which used to be the implementation of non-empty lists in cats but has
which used to be the implementation of non-empty lists in Cats but has
been replaced by the `cats.data.NonEmptyList` data type. By
having the higher kinded type parameter `F[_]`, `OneAnd` is also able
to represent other "non-empty" data structures e.g.
Expand Down
2 changes: 1 addition & 1 deletion docs/src/main/tut/datatypes/validated.md
Original file line number Diff line number Diff line change
Expand Up @@ -254,7 +254,7 @@ Let's see what changed here:
4. `.validNec` and `.invalidNec` combinators lets you _lift_ the success or failure in their respective container (either a `Valid` or `Invalid[NonEmptyChain[A]]`).
5. The [applicative](../typeclasses/applicative.html) syntax `(a, b, c, ...).mapN(...)` provides us a way to accumulatively apply the validation functions and yield a product with their successful result or the accumulated errors in the `NonEmptyChain`. Then, we transform that product with `mapN` into a valid instance of `RegistrationData`.

**Deprecation notice:** since cats `1.0.0-MF` the cartesian syntax `|@|` for applicatives is deprecated. If you're using `0.9.0` or less, you can use the syntax: `(a |@| b |@| ...).map(...)`.
**Deprecation notice:** since Cats `1.0.0-MF` the cartesian syntax `|@|` for applicatives is deprecated. If you're using `0.9.0` or less, you can use the syntax: `(a |@| b |@| ...).map(...)`.

Note that, at the end, we expect to lift the result of the validation functions in a `RegistrationData` instance. If the process fails, we'll get our `NonEmptyChain` detailing what went wrong.

Expand Down
Loading