相关疑难解决方法(0)

我可以为 - > b - >*编写更高阶的类型吗?

我理解这(->) a是一种更高阶的类型* -> *,当应用于类型参数时b会给出类型a -> b

我可以写一种类型* -> *,当应用时c会给出a -> b -> c

如果没有,为什么不呢?也许使用一些语言扩展和forall

这将让我编写Functor和Applicative(以及其他类)的实例,其中的函数结构是" a -> b ->",如:

(<*>) :: Applicative t => t (c -> d) -> t c -> t d

(<*>) :: (a -> b -> c -> d) -> (a -> b -> c) -> a -> b -> d
Run Code Online (Sandbox Code Playgroud)

这对于二进制(curried)函数的组合器很有用.

NB.也许这是相关类型的Functors和Applicative(* - >*) - >*但我不确定,因为它超出了我的头:-)

haskell applicative higher-order-types

11
推荐指数
1
解决办法
112
查看次数

标签 统计

applicative ×1

haskell ×1

higher-order-types ×1