Some time ago, in one of the Haskell extensions (the link could not be found) and recently in Ur, I found that the names (for example, record fields) form a view. Can someone explain why type abstractions are not enough for them?
The answer is simple: they can be displayed in types. Therefore, they must live at the type level (otherwise you will need dependent types). And since they live on the type level, they are classified by type.
, () . , , .
. Haskell :
Record -> Int
*
.
, , , . , (, ) .
Haskell "unboxed types". , :
unboxed , , .
, , , - , , - , Ur Twelf, .