问题标签 [lambda-calculus]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
lambda - main函数返回值的lambda表达式
在特定情况下,像这样
main函数返回值的lambda表达式是什么?
functional-programming - D中的Y组合子?
我正在尝试更好地学习 Y 组合器(我在 Scheme 中有点理解它)并在 D 2.0 中实现它,但我失败得很惨:
这不起作用,原因很明显,我无法传递fact
给fact
(它的类型是什么?)。而且,我仍然需要fact
's name 来传递给它自己,所以它无论如何都行不通,对吧?
但是......我该如何在 D 中实现 Y 组合器?
functional-programming - 术语:未绑定参数是函数的部分应用?
...部分应用(或部分函数应用)是指将多个参数固定到函数的过程,从而产生另一个较小的函数。
我想知道以下是否有特定名称:(伪代码!)
在函数式编程中有这个名字吗?或者它只是部分应用程序,其中未绑定的参数恰好是一个函数
python - Lambda 代替“if”语句
我听说可以if
使用 lambda 替换语句。
这在 Python 中可能吗?如果是这样,怎么做?
functional-programming - Lambda 演算问题
我必须解决一个 lambda 演算问题。我达到了某个点,但我不知道如何继续:
有没有办法完成?我使用“a1,a2,a3...”来表示元素或函数的类型。例如,1::Int、2.4::Float、f::a1、x::a3 等等。不知道够不够清楚...
非常感谢!!
c++ - 用 Boost.Bind 表达教堂数字
教堂数字可以用 C++0x (C++11?) 使用语言的新 lambda 部分表达,如下所示:
是否可以使用 Boost.Bind 和 C++03 来表达 Church 数字?如果是这样,怎么做?
scheme - 将 Lambda 表达式转换为 Scheme
我有这个 lambda lambda 表达式: λx.(λy.(λz.x(yz)))
我正在尝试用它编写一个 Scheme 表达式。
我这样做了:
是对的吗?如果没有,我做错了什么?
lambda - Erlang中的S组合器
我开始学习 lambda 演算,我需要在 Erlang 中实现 I、S、K 组合器。当然,S、K、I 代表:
S = λxyz.xz(yz) K = λxy.x I = λx.x
我在纸上理解 I=SKK 转换没有问题(就像这里介绍的:为了证明 SKK 和 II 是 beta 等价的,lambda calculus)但是当涉及到函数式语言和高阶函数时,我似乎不理解它。 ..
我设法做到了 I 和 K (让我们在模块中说test
):
我也知道如何运行 K x (K x) (SKK x = K x (K x))
但是我无法编写 S 组合器。我试过:
但是,我仍然无法将 SKK x 转换为 x
我尝试像这样运行它:
任何帮助将不胜感激,因为我完全迷路了。
compiler-construction - 无类型 Lambda 演算的函数式语言
是否有无类型 lambda 演算的解释器(或编译器)?(根据这个线程这是可能的。)我认识到它作为一种编程语言几乎没有用,特别是如果许多语言(如数字和布尔运算符)是在(由用户或库)实现的语言本身。但是,我仍然认为这将是一个有趣的工具,对学习和探索微积分很有用。为此,解释器比编译器更可取,两者都可以。有人知道这样的程序吗?
lambda-calculus - K组合子的不动点
K
组合器是和K := (λxy.x)
定点组合器是Y := λf.(λx.f x x) (λx.f x x)
。我试图计算YK
:
所以因为YK
是 的不动点K
:
对于任何 e。但KIe
应该等于I
!