哈斯克尔中类型的函数应用操作数($)?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了哈斯克尔中类型的函数应用操作数($)?相关的知识,希望对你有一定的参考价值。

在Haskell中,有没有一个($)对应的类型?

如果我有一个带参数的类型

data myType a b c = ...

如果能像这样应用一个单体,那就更好了。

f :: input -> errorMonad $ myType a b c
{- throws error:
   Not in scope: type constructor or class ‘$’. -}

我可以用以下方法得到同样的效果

f :: input -> errorMonad (myType a b c)

但不是那么清晰的IMO。

答案

一个可能的解决方案是定义你自己的类型操作符。$:

{-# LANGUAGE TypeOperators, PolyKinds #-}

type ($) a = a

以上是关于哈斯克尔中类型的函数应用操作数($)?的主要内容,如果未能解决你的问题,请参考以下文章

哈斯克尔,再次。非法类型? [关闭]

哪种最大选择算法更快? (哈斯克尔)[重复]

使用scanl时空间泄漏在哪里? (哈斯克尔)

哈斯克尔背包

`ghc-pkg` 和 `cabal` 程序有啥关系? (哈斯克尔)

为啥我的 Haskell 代码与 Swift 和 C 相比如此缓慢 [重复]