I see PureScript has recently gotten kind polymorphism, along with a host of other goodies that I spent a lot of time thinking about. (I’m the author of
-XTypeInType in GHC and have published a bunch of papers on fancy type systems. I’m eager to get dependent types in GHC.) It looks like https://github.com/purescript/purescript/pull/3779# was based largely off my work.
So I’d love to know more about your experience of these features in PureScript. You’ve had an opportunity to re-imagine these features in a new(er) language, with less historical baggage than GHC has. What aspects of this all were strange to you? What worked well? Have you had innovations you think GHC should take on?
One question, in particular: that GitHub ticket claims to use “Kind Inference for Datatypes” as inspiration. You’re ahead of GHC in that regard – we have not yet implemented that paper. Do you have any feedback that will be helpful when we do so?
Thanks. So glad to see these ideas implemented beyond Haskell!