是否有任何方式定義不使用類型族的類型級別投影?Haskell類型級別投影
我這樣做,像這樣:
{-# LANGUAGE TypeFamilies #-}
type family Project t :: *
type instance Project [r] = r ,
,但我真的只是曾經使用它的一個實例。
是否有任何方式定義不使用類型族的類型級別投影?Haskell類型級別投影
我這樣做,像這樣:
{-# LANGUAGE TypeFamilies #-}
type family Project t :: *
type instance Project [r] = r ,
,但我真的只是曾經使用它的一個實例。
你可以使用MultiParamTypeClass
和FunctionalDependencies
,雖然不知道你爲什麼使用它,但很難說這是否足夠。
class Project k a | k -> a
instance Project [r] r
> :t undefined :: Project String r => r
undefined :: Project String r => r :: Char
是的,當然(facepalms)。謝謝! – Obscaenvs