From 16f4d4a82c8f5596002d9ffe148ec35e7a73870b Mon Sep 17 00:00:00 2001 From: Jasper Moeys Date: Thu, 9 Nov 2017 14:33:29 +0100 Subject: [PATCH 1/2] Fix type signature of Arrow.second in doc --- docs/src/main/tut/typeclasses/arrow.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/src/main/tut/typeclasses/arrow.md b/docs/src/main/tut/typeclasses/arrow.md index d0594f5841..d90db035a0 100644 --- a/docs/src/main/tut/typeclasses/arrow.md +++ b/docs/src/main/tut/typeclasses/arrow.md @@ -13,7 +13,7 @@ Having an `Arrow` instance for a type constructor `F[_, _]` means that an `F[_, - Lifting a function `ab: A => B` into arrow `F[A, B]` with `Arrow[F].lift(ab)`. If `F` is `Function1` then `A => B` is the same as `F[A, B]` so `lift` is just the identity function. - Composing `fab: F[A, B]` and `fbc: F[B, C]` into `fac: F[A, C]` with `Arrow[F].compose(fbc, fab)`, or `fab >>> fbc`. If `F` is `Function1` then `>>>` becomes an alias for `andThen`. - Taking two arrows `fab: F[A, B]` and `fbc: F[B, C]` and combining them into `F[(A, C) => (B, D)]` with `fab.split(fbc)` or `fab *** fbc`. The resulting arrow takes two inputs and processes them with two arrows, one for each input. -- Taking an arrow `fab: F[A, B]` and turning it into `F[(A, C), (B, C)]` with `fab.first`. The resulting arrow takes two inputs, processes the first input and leaves the second input as it is. A similar method, `fab.second`, turns `F[A, B]` into `F[(C, A), (B, A)]`. +- Taking an arrow `fab: F[A, B]` and turning it into `F[(A, C), (B, C)]` with `fab.first`. The resulting arrow takes two inputs, processes the first input and leaves the second input as it is. A similar method, `fab.second`, turns `F[A, B]` into `F[(C, A), (C, B)]`. ## Examples From 155b01022056fcc2e32f85fc2f7c3a75b33f74b8 Mon Sep 17 00:00:00 2001 From: Jasper Moeys Date: Thu, 9 Nov 2017 14:38:12 +0100 Subject: [PATCH 2/2] Fix signature of Arrow.split in doc --- docs/src/main/tut/typeclasses/arrow.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/src/main/tut/typeclasses/arrow.md b/docs/src/main/tut/typeclasses/arrow.md index d90db035a0..3c6b1e18ab 100644 --- a/docs/src/main/tut/typeclasses/arrow.md +++ b/docs/src/main/tut/typeclasses/arrow.md @@ -12,7 +12,7 @@ scaladoc: "#cats.arrow.Arrow" Having an `Arrow` instance for a type constructor `F[_, _]` means that an `F[_, _]` can be composed and combined with other `F[_, _]`s. You will be able to do things like: - Lifting a function `ab: A => B` into arrow `F[A, B]` with `Arrow[F].lift(ab)`. If `F` is `Function1` then `A => B` is the same as `F[A, B]` so `lift` is just the identity function. - Composing `fab: F[A, B]` and `fbc: F[B, C]` into `fac: F[A, C]` with `Arrow[F].compose(fbc, fab)`, or `fab >>> fbc`. If `F` is `Function1` then `>>>` becomes an alias for `andThen`. -- Taking two arrows `fab: F[A, B]` and `fbc: F[B, C]` and combining them into `F[(A, C) => (B, D)]` with `fab.split(fbc)` or `fab *** fbc`. The resulting arrow takes two inputs and processes them with two arrows, one for each input. +- Taking two arrows `fab: F[A, B]` and `fcd: F[C, D]` and combining them into `F[(A, C) => (B, D)]` with `fab.split(fcd)` or `fab *** fcd`. The resulting arrow takes two inputs and processes them with two arrows, one for each input. - Taking an arrow `fab: F[A, B]` and turning it into `F[(A, C), (B, C)]` with `fab.first`. The resulting arrow takes two inputs, processes the first input and leaves the second input as it is. A similar method, `fab.second`, turns `F[A, B]` into `F[(C, A), (C, B)]`. ## Examples