haskell - 在类型级别未定义

标签 haskell types undefined ghc type-kinds

通常,当我使用 Haskell 代码时,我会使用类型注释和 undefined 将事情 stub 。 .

foo :: String -> Int
foo = undefined

是否有我可以以类似方式使用的类型级“未定义”?

(理想情况下,结合一种注释)
type Foo :: * -> *
type Foo = Undefined

在同一个线程上进一步思考:我有没有办法为以这种方式创建的类型 stub 类型类实例?比以下理论方法更简单的方法?
instance Monad Foo where
  return = undefined
  (>>=) = undefined

最佳答案

您可以使用 EmptyDataDecls stub 一个类型,并使用 KindSignatures你可以给它一种:

{-# LANGUAGE EmptyDataDecls, KindSignatures #-}

data Foo :: * -> *

您也可以 stub Monad使用此选项向 GHC 发出警告的实例。
{-# OPTIONS_GHC -fno-warn-missing-methods #-}

instance Monad Foo

然后你不需要为 return 留下任何实现。和 >>= .

关于haskell - 在类型级别未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9036554/

相关文章:

templates - Meteor - 更新到 v0.9.1 后出现许多错误

eclipse - 在eclipse中输入希腊字符?

haskell - 我可以把 IO monad 漂亮地放在这个纯函数上吗?

java - 在 Matisse 中更改组件的类型

c - 如果字符可以容纳整数,那么为什么需要使用整数?

javascript - 与 'undefined` 的比较是否仍然进行全局范围查找?

jquery - Ajax状态为200但触发错误事件而不是成功

haskell - Haskell 中应该避免 do 表示法吗?

parsing - F# 解析器组合器

types - avro 中的 map 和记录有什么区别?