gpt4 book ai didi

lambda - 如何测试 lambda 函数?

转载 作者:行者123 更新时间:2023-12-03 12:59:41 24 4
gpt4 key购买 nike

假设我们有一种不支持数字或 bool 值的编程语言:lambda 是它提供的唯一值。

教会数字使用 lambda 表达式来表示数字。这个想法与自然数的函数表示密切相关,即有一个表示“零”的自然数和一个返回给定自然数的后继的函数“succ”。

(define zero (lambda (f) (lambda (x) x)))

(define (add-1 n)
(lambda (f) (lambda (x) (f ((n f) x)))))

如果我有另一个lambda

(define pluss4 (lambda(x) (+ x 4))

我可以这样测试它:(pluss4 0) 我看到答案是 4

如何测试教会数字并查看结果?

最佳答案

要将教堂编号转换为整数,您只需像这样应用它:

(define (add1 n) (+ n 1))         ; In SICP it's called 1+
((zero add1) 0) ; ==> 0
(((add-1 (add-1 zero)) add1) 0) ; ==> 2

你可以把它变成一个过程:

(define (church->int x)
((x add1) 0))

(church->int zero) ; ==> 0
(church->int (add-1 (add-1 zero))) ; ==> 2

关于lambda - 如何测试 lambda 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34576710/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com