addamsson
07/14/2019, 4:01 PMFunctor which are very well documented
but there are things like Profunctor which have literally no docs. The functions are also a bit problematic because their kdocs are mostly hard to understand or non-existent.
Do you plan on improving this? It would be useful for contributors who didn't come from a Scala background.addamsson
07/14/2019, 4:04 PMApplicative can be used for and what unit means in it without looking at the code.addamsson
07/14/2019, 4:04 PMsimon.vergauwen
07/14/2019, 4:06 PMaddamsson
07/14/2019, 4:07 PMsimon.vergauwen
07/14/2019, 4:07 PMsimon.vergauwen
07/14/2019, 4:07 PMaddamsson
07/14/2019, 4:08 PMaddamsson
07/14/2019, 4:09 PMsimon.vergauwen
07/14/2019, 4:09 PMsimon.vergauwen
07/14/2019, 4:09 PMaddamsson
07/14/2019, 4:11 PMEqaddamsson
07/14/2019, 4:11 PMaddamsson
07/14/2019, 4:11 PMaddamsson
07/14/2019, 4:11 PMaddamsson
07/14/2019, 4:11 PMeqv and neqv which is also not too hard to interpretaddamsson
07/14/2019, 4:12 PMaddamsson
07/14/2019, 4:12 PMaddamsson
07/14/2019, 4:12 PMaddamsson
07/14/2019, 4:12 PMfoo.isEquivalentTo(bar)addamsson
07/14/2019, 4:13 PMequals(other: Any?): Booleanaddamsson
07/14/2019, 4:14 PM== and !=addamsson
07/14/2019, 4:14 PMaddamsson
07/14/2019, 4:15 PMaddamsson
07/14/2019, 4:15 PMaddamsson
07/14/2019, 4:16 PMApplicativeaddamsson
07/14/2019, 4:16 PMApplicative is and I didn't understand why it was useful until I saw the Validation class in VAVRsimon.vergauwen
07/14/2019, 4:16 PMEq is that you can compose it in nested shapes and it type checks.simon.vergauwen
07/14/2019, 4:18 PMsimon.vergauwen
07/14/2019, 4:19 PMValidated vs short circuit Eithersimon.vergauwen
07/14/2019, 4:19 PMsimon.vergauwen
07/14/2019, 4:20 PMaddamsson
07/14/2019, 4:21 PMaddamsson
07/14/2019, 4:21 PMaddamsson
07/14/2019, 4:21 PMsimon.vergauwen
07/14/2019, 4:21 PMequals and Eq is essentially inheritance vs composition. So if you ask why not equals vs Eq you could also ask inheritance vs compositionaddamsson
07/14/2019, 4:21 PMsimon.vergauwen
07/14/2019, 4:21 PMsimon.vergauwen
07/14/2019, 4:22 PMaddamsson
07/14/2019, 4:22 PMaddamsson
07/14/2019, 4:22 PMsimon.vergauwen
07/14/2019, 4:22 PMaddamsson
07/14/2019, 4:23 PMaddamsson
07/14/2019, 4:23 PMaddamsson
07/14/2019, 4:24 PMEq but the whole APIsimon.vergauwen
07/14/2019, 4:24 PMaddamsson
07/14/2019, 4:29 PMsimon.vergauwen
07/14/2019, 4:32 PMsetOf(1, 2, 3).map to return List.simon.vergauwen
07/14/2019, 4:32 PMsimon.vergauwen
07/14/2019, 4:34 PMsimon.vergauwen
07/14/2019, 4:34 PMsimon.vergauwen
07/14/2019, 4:35 PMrunaddamsson
07/14/2019, 4:38 PMaddamsson
07/14/2019, 4:38 PMaddamsson
07/14/2019, 4:38 PMaddamsson
07/14/2019, 4:38 PMsimon.vergauwen
07/14/2019, 4:42 PMaddamsson
07/14/2019, 4:52 PMaddamsson
07/14/2019, 4:52 PMsimon.vergauwen
07/14/2019, 4:53 PMaddamsson
07/14/2019, 4:53 PMList is returned but I want my code to be readable so when the next guy comes around to maintain my code and they don't know Arrow they at least have a chance to understand what i've written by just looking at itsimon.vergauwen
07/14/2019, 4:55 PMsimon.vergauwen
07/14/2019, 4:56 PMaddamsson
07/14/2019, 5:05 PMaddamsson
07/14/2019, 5:05 PMaddamsson
07/14/2019, 5:05 PMComposable instead of Monoidaddamsson
07/14/2019, 5:06 PMMonoid is and is is unambiguousaddamsson
07/14/2019, 5:06 PMaddamsson
07/14/2019, 5:06 PMFunctor I've seen things like pure, of, justaddamsson
07/14/2019, 5:07 PMaddamsson
07/14/2019, 5:07 PMof because it is part of Effective Java and most folks understand it by looking at itsimon.vergauwen
07/14/2019, 5:07 PMpure because originally we thought that since Arrow is build for FPers it should be immediately clear to anyone with FP experience.simon.vergauwen
07/14/2019, 5:08 PMjust because it's well know from RxJava and Reactor.simon.vergauwen
07/14/2019, 5:09 PMsimon.vergauwen
07/14/2019, 5:09 PMaddamsson
07/14/2019, 5:14 PMaddamsson
07/14/2019, 5:14 PMaddamsson
07/14/2019, 5:44 PMaddamsson
07/14/2019, 5:44 PMaddamsson
07/14/2019, 5:44 PMaddamsson
07/14/2019, 5:45 PMaddamsson
07/14/2019, 5:45 PMsimon.vergauwen
07/14/2019, 6:04 PMsimon.vergauwen
07/14/2019, 6:06 PMsimon.vergauwen
07/14/2019, 6:09 PMaddamsson
07/14/2019, 6:15 PMaddamsson
07/14/2019, 6:15 PMaddamsson
07/14/2019, 7:01 PMaddamsson
07/14/2019, 7:03 PMListK (which I figured out I'll need if I want to tamper with the list) with some elements the familiar syntax from the stdlib would be listKOf(1, 2, 3)addamsson
07/14/2019, 7:03 PMlistOf(1, 2, 3).k()addamsson
07/14/2019, 7:03 PMaddamsson
07/14/2019, 7:04 PMfun <A> List<A>.k(): ListK<A> = ListK(this)addamsson
07/14/2019, 7:04 PMListK but I have no idea what the k meansaddamsson
07/14/2019, 7:05 PMListK it says it is a wrapper but I see no explanation of the K. Is it because it is a kind? It has a @higherkind annotation. But then why the docs says it is just a wrapper? Why not ListW then? or ListWrapper. And I still can't remove an element form ListK because there is no such operationaddamsson
07/14/2019, 7:08 PMList.of(1, 2, 3).remove(1) and I get all the operations I need. It is approachable and intuitiveaddamsson
07/14/2019, 7:10 PMremove operation and a persistentListOf(1, 2, 3) functionaddamsson
07/14/2019, 7:10 PMsimon.vergauwen
07/14/2019, 7:11 PMlistKOf vs listOf().k()!simon.vergauwen
07/14/2019, 7:11 PMaddamsson
07/14/2019, 7:12 PMaddamsson
07/14/2019, 7:14 PMTry.invoke { require(1 == 2) }.map {
println("Sorry, I won't be printed :(")
}addamsson
07/14/2019, 7:14 PMaddamsson
07/14/2019, 7:14 PMTryaddamsson
07/14/2019, 7:14 PM