raulraja
04/24/2018, 7:43 PMOptionT.monad<EitherKindPartial<String>>()
//is now
OptionT.monad(Either.monad<String>())
jtonic
04/25/2018, 8:30 PMFP companion library, Arrow
.
Preparing this event was not easy at all, considering I just started, the FP journey, more than a month ago.
Needless to say that Functional Kotlin
book was the main source of information, w/o it, I was definitely lost. Reading it was a pleasure, and it easy the FP path I am on.
I want to congratulate the authors for their amazing work, and I am looking forward to reading some other books of them.
On the other hand, there were moments I was really stuck with understanding some concepts or not figuring out why some arrow based test code refuse to compile. In these moments this channel was my salvation, and I witnessed how amazing the kotlin/arrow community is.
*A big THANK YOU to each and every of you for how amazing you are.dh44t
04/25/2018, 10:49 PMJeff Thomas
04/30/2018, 9:12 PMsimon.vergauwen
05/01/2018, 1:11 PMisto
05/05/2018, 4:27 PMraulraja
05/12/2018, 4:43 PMdnowak
05/22/2018, 2:27 PMjimn
06/19/2018, 12:44 AMjimn
06/19/2018, 3:29 AMrudolf.hladik
06/19/2018, 10:19 AMpakoito
06/20/2018, 3:40 PMraulraja
06/21/2018, 11:26 PMraulraja
06/22/2018, 8:00 AMjacob
06/27/2018, 5:17 AMelizarov
06/27/2018, 6:43 AMfun <T> foo(a: T): List<T>
(the type of foo
in Haskell terms would be forall t. t -> List t
), but you cannot directly capture such a functional type in a plain variable. You’ll have to always capture both foo
and T
with another generic function like fun <T> bar(a: T) = foo(foo(a))
or with a generic class like class A<T> { fun bar(a: T) = foo(a) }
elizarov
06/27/2018, 8:03 PMpakoito
07/02/2018, 6:15 PMpakoito
07/03/2018, 9:43 AMxenomachina
07/03/2018, 6:15 PMval foo = myEither.getOrElse { return false }
but Kotlin won't allow this because the lambda to getOrElse
is crossinline
. Why is it declared crossinline
?simon.vergauwen
07/03/2018, 6:30 PMpakoito
07/03/2018, 11:18 PMpakoito
07/04/2018, 12:17 AMjacob
07/04/2018, 12:27 AMveiset
07/16/2018, 10:40 AMTry {
when (accessChecker.loggedInUserHasAccess()) {
true -> Try.just(Unit)
false -> Try.raise(FeatureAccessDeniedException("No access for feature"))
}
}
Or is better to just throw the error in the false branch. Note that accessChecker.loggedInUser...
can also throw an exception.
Try {
when (accessChecker.loggedInUserHasAccess()) {
true -> Unit
false -> throw FeatureAccessDeniedException("No access for feature")
}
}
Jorge Castillo
07/21/2018, 10:37 PMpakoito
07/28/2018, 8:35 PMpakoito
07/28/2018, 8:35 PMpakoito
08/08/2018, 10:17 PMenrichValue
fails, the whole operation fails. Else it aggregates the successes on the right, which you map to the update of your previous value.Leandro Borges Ferreira
08/16/2018, 12:19 AM./gradlew clean build
, but I am getting:
Could not determine the dependencies of task ':jar'.
> Could not resolve all files for configuration ':compile'.
> Could not find io.arrow-kt:arrow-recursion:0.7.2.
Searched in the following locations:
<https://repo.maven.apache.org/maven2/io/arrow-kt/arrow-recursion/0.7.2/arrow-recursion-0.7.2.pom>
<https://repo.maven.apache.org/maven2/io/arrow-kt/arrow-recursion/0.7.2/arrow-recursion-0.7.2.jar>
<https://jcenter.bintray.com/io/arrow-kt/arrow-recursion/0.7.2/arrow-recursion-0.7.2.pom>
<https://jcenter.bintray.com/io/arrow-kt/arrow-recursion/0.7.2/arrow-recursion-0.7.2.jar>
Required by:
project :
Should I add some location in my gradle project?Leandro Borges Ferreira
08/16/2018, 12:19 AM./gradlew clean build
, but I am getting:
Could not determine the dependencies of task ':jar'.
> Could not resolve all files for configuration ':compile'.
> Could not find io.arrow-kt:arrow-recursion:0.7.2.
Searched in the following locations:
<https://repo.maven.apache.org/maven2/io/arrow-kt/arrow-recursion/0.7.2/arrow-recursion-0.7.2.pom>
<https://repo.maven.apache.org/maven2/io/arrow-kt/arrow-recursion/0.7.2/arrow-recursion-0.7.2.jar>
<https://jcenter.bintray.com/io/arrow-kt/arrow-recursion/0.7.2/arrow-recursion-0.7.2.pom>
<https://jcenter.bintray.com/io/arrow-kt/arrow-recursion/0.7.2/arrow-recursion-0.7.2.jar>
Required by:
project :
Should I add some location in my gradle project?Alisson Morais
08/16/2018, 1:45 AMLeandro Borges Ferreira
08/16/2018, 12:35 PM