Часто, когда я играю с кодом на Haskell, я использую аннотацию типа и undefined
.
foo :: String -> Int
foo = undefined
Существует ли "undefined" на уровне типа, который я мог бы использовать подобным образом?
(В идеале, в сочетании с аннотацией типа)
type Foo :: * -> *
type Foo = Undefined
Дальнейшая мысль по той же теме: есть ли способ для меня заглушить экземпляры типовых классов для типов, созданных таким образом? Еще более простой способ, чем следующий теоретический способ?
instance Monad Foo where
return = undefined
(>>=) = undefined