haskell - 范围类型声明可能吗?

标签 haskell

是否可以执行以下操作:

foo = bar
    where
        type A = (Some, Huge, Type, Sig)

        meh :: A -> (A, A) -> A

我只需要在 where 子句中使用此自定义类型,因此全局定义它没有意义。

最佳答案

这是不可能的。为什么不直接在函数上面定义它呢?您不必从模块中导出它(只需使用显式导出列表)。

顺便说一句,如果您确实有这么大的类型,这可能表明您应该将其分解为更小的部分,特别是如果您有很多元组,如您的示例所示;数据类型会更合适。

关于haskell - 范围类型声明可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8821916/

相关文章:

haskell - 为什么 <$> 慢?

haskell - Monad 转换器库 - 使用哪一个?

list - Haskell 中的列表元素相乘

performance - 没有约束的 GADT(或存在)可以像无类型的普通 ADT 一样编译吗?

haskell - opaleye 是否支持 upsert/INSERT ON CONFLICT?

haskell - 具有更大域的 Euler #4

haskell - 在计算机科学的背景下,什么是超功能?

haskell - 我不明白 :t for fromIntegral

haskell - 制作 Ord 类的新类型实例

haskell - where block 的语法