通常,当我使用 Haskell 代码时,我会使用类型注释将内容存根并undefined
.
foo :: String -> Int
foo = undefined
是否有类型级别的“未定义”,我可以以类似的方式使用?
(理想情况下,与某种注释结合使用)
type Foo :: * -> *
type Foo = Undefined
对同一线程的进一步思考:有没有办法让我为以这种方式创建的类型存根类型类实例?比以下理论方法更简单的方法?
instance Monad Foo where
return = undefined
(>>=) = undefined
您可以使用EmptyDataDecls
存根一个类型,并用KindSignatures
你可以给它一种:
{-# LANGUAGE EmptyDataDecls, KindSignatures #-}
data Foo :: * -> *
您还可以将Monad
使用此选项向 GHC 发出警告的实例。
{-# OPTIONS_GHC -fno-warn-missing-methods #-}
instance Monad Foo
然后你不需要留下任何实现return
and >>=
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)