Ω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.
source
share