簡體   English   中英

類型族強制參數具有種類*

[英]Type family forcing parameter to have the kind *

這個簡單的代碼無法編譯

import Data.Kind
type family F (k :: Type) :: (t :: k) -> Type

錯誤消息是

• Expected a type, but ‘t’ has kind ‘k’
• In the kind ‘(t :: k) -> Type’

從某種意義上說,我實際上定義了“類型家庭”,但我並不真正理解為什么會存在這種限制。

type family F (k :: Type) (t :: k) :: Type

確實可以,但是它沒有相同的語義,因此不能使用相同的語義。

無需在結果類型中命名t 您可以簡單地使用

type family F (k :: Type) :: k -> Type

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM