9
乙烯基,我可以定義一個類型別名記錄,使其更容易出口到其他模塊:乙烯:構成記錄類型別名
import Data.Vinyl
name = Field :: "name" ::: String
age = Field :: "age" ::: Int
type Person = ["name" ::: String, "age" ::: Int]
現在假設我添加一個字段存儲的高度。
height = Field :: "height" ::: Int
我想很好地構建一個類型別名用於容納Person
和height
該記錄。天真地說,這可能看起來像這樣:
type MeasuredPerson = ("height" ::: Int) : Person
這個語法顯然不起作用!有沒有辦法做到這一點?是否有任何好的參考解釋了似乎在這裏使用的類型級別的數組語法?
實際上,它只定義'++','':'和''[]'帶有'-XDataKinds'。 – Cubic