Nathan Bedell
11/21/2021, 4:18 PMFlowHKT.kt
, where I have some examples showing how HKTs might interact with subtyping, and some thoughts on inference for kinds. Anyway, I hope this is a good way to get the ball rolling, and I look forward to feedback/discussions.
https://gist.github.com/Sintrastes/3920cf4efcea4c933b19382222e59ce2Nathan Bedell
11/21/2021, 4:20 PMraulraja
11/21/2021, 9:22 PMraulraja
11/21/2021, 9:22 PMfun <A,B> F<A>.fmap(f: (A) -> B): F<B>
is already possible if
expect class F<out A>
raulraja
11/21/2021, 9:23 PMraulraja
11/21/2021, 9:23 PMactual typealias F<A> = Flow<A>
raulraja
11/21/2021, 9:23 PMraulraja
11/21/2021, 9:24 PMraulraja
11/21/2021, 9:24 PMraulraja
11/21/2021, 9:24 PMraulraja
11/21/2021, 9:30 PMNathan Bedell
11/22/2021, 12:54 PMNathan Bedell
11/22/2021, 1:00 PMinterface Optic<S,T,A,B> {
fun <P> P<A,B>.runOptic(): P<S,T>
}
would not be possible -- or I guess at least a higher-ranked usage of such an interface would not be possible.Nathan Bedell
11/22/2021, 1:01 PMraulraja
11/22/2021, 1:07 PMraulraja
11/22/2021, 1:08 PMP
a type that is kinded as a template. Someone at some point would have to say that P
is some actual type or context provider instanceraulraja
11/22/2021, 1:41 PMraulraja
11/22/2021, 1:41 PMraulraja
11/22/2021, 1:42 PMraulraja
11/22/2021, 1:42 PM