NHacker Next
login
▲Type Inference Zoozoo.cuichen.cc
116 points by mpweiher 4 days ago | 3 comments
Loading comments...
dmkolobov 11 hours ago [-]
It is crazy how much work comes out of Bruno Oliveira’s research groups.

Another cool online thing that exists is CP, a language with disjoint intersection and union types:

https://github.com/yzyzsun/CP-next

gavinray 2 hours ago [-]
TypeScript has this functionality.

Additionally, Scala 3 does as well, including support for these generic "Type-Lambda" expressions I saw in one of the examples on the playground:

https://beta.plground.org/jnclma/CP_tutorial

  printNum = trait implements ExpSig<Eval => Print> {
In Scala 3, this would be roughly:

  trait ExpSig[F[_]]
  object printNum extends ExpSig[[A] =>> Eval[A] => Print]
https://docs.scala-lang.org/scala3/reference/new-types/type-...
flashgordon 13 hours ago [-]
This is amazing. I've been wanting to do this for ages (even tried a few times and failed a few times). Great to see this.
AIFounder 12 hours ago [-]
[dead]