Is there any benefit to the species?

In Haskell, views (type types) allow some useful things, such as type constructors. My question is, will there be any kind of benefit to having kinds of species (types of types of types), or is there nothing that they could do, which would not be easy to do with just species and types?

+4
source share
1 answer

Ωmega has a view up. Basically, he argued that a hierarchy of an infinite type, along with the corresponding GADTs, is as powerful as dependent types.

In addition, when testing files using DataKinds, PolyKindsetc. I sometimes feel a little limited by how type constructors do not go up to view constructors or that canceled types cannot be limited (i.e. there are no good classes). It seems that Ωmega solves many of these limitations - unfortunately, as is often the case, at the cost of becoming a more academic language. But it’s still easier for me to read compared to the “real” dependent types of languages ​​like Agda and Coq (although at least Agda has an infinite hierarchy). Maybe because Ωmega is just right for Haskell to think.

+6
source

Source: https://habr.com/ru/post/1530739/


All Articles