arrow-core / arrow.core.extensions.const.functor / arrow.Kind / widen

widen

@JvmName("widen") fun <A, B> Kind<Kind<ForConst, A>, A>.~~widen~~(): Const<A, B> Deprecated: @extension kinded projected functions are deprecated

Given A is a sub type of B, re-type this value from Kind<F, A> to Kind<F, B>

Kind<F, A> -> Kind<F, B>

 import arrow.core.*
import arrow.core.extensions.const.functor.*
import arrow.core.*


 import arrow.core.extensions.const.applicative.just
import arrow.core.extensions.monoid
 import arrow.Kind

 fun main(args: Array<String>) {
  val result: Kind<*, CharSequence> =
  //sampleStart
  "Hello".just<String>(String.monoid()).map<String, String>({ "$it World" }).widen<String,
String>()
  //sampleEnd
  println(result)
 }

Do you like Arrow?

Arrow Org
<