как можно представить пустое ограничение?
для следующего файла
{-# LANGUAGE ConstraintKinds #-}
{-# LANGUAGE KindSignatures #-}
import Data.Kind(Type, Constraint)
type Empty = (() :: Type -> Constraint)
main :: IO ()
main = return ()
ghc 8.2.2 ответов
constraint.hs:6:15: error:
• Expected kind ‘* -> Constraint’, but ‘()’ has kind ‘*’
• In the type ‘(() :: Type -> Constraint)’
In the type declaration for ‘Empty’
|
6 | type Empty = (() :: Type -> Constraint)
|
что мне не хватает?
я знаю о следующем решении
{-# LANGUAGE FlexibleInstances #-}
class Empty x
instance Empty x
но я хочу знать, почему () не работает