小编Adr*_*nat的帖子

Haskell中有这个lambda语句的有效定义吗?

我对Haskell中的函数有以下定义.

> q7 :: forall a. forall b. ((a -> b) -> a) -> a
Run Code Online (Sandbox Code Playgroud)

我要么为它创建一个定义,要么说明为什么定义不存在.这是我的想法:

q7接受任何类型的ab.该声明(a -> b) -> a将通过采取两个项目并返回后者来实施.现在,如果我再进一步,我可以返回同样的" a"来实现((a -> b) -> a) -> a.我看到在一个问题ab可以是任何类型,因此对于每个实例a,可能a是不同的类型?例如,它可能是这样的((Int -> Bool) -> [Char]) -> Int吗?我可能谋杀了那种语法.如果有人有任何提示,或者有人可以确认或否认我的想法,我将非常感激!

haskell typing lambda-calculus

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

标签 统计

haskell ×1

lambda-calculus ×1

typing ×1