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