练习 2.6

原创 2016年05月31日 22:04:26
#lang racket

;: zero 是一个函数,这个函数,接收一个参数,
;: 再返回一个函数 zero-b 此函数接收一个参数,并直接返回这个参数
(define zero (lambda (f) (lambda (x) x)))
;: 测试
;:((zero 3) 2) ;: => 2

;: +1 函数
;: 是一个函数,接收一个参数 n
;: 再返回一个函数 add-1-b 此函数接收一个函数 f
;:    返回一个新函数 add-1-c 此函数接收一个函数 x
;:        调用此函数,会(f ((n f) x))
(define (add-1 n)
  (lambda (f) (lambda (x) (f ((n f) x)))))
;: 定义one
;:(define one (add-1 zero))
;:(add-1 zero)
;:(lambda (f) (lambda (x) (f ((zero f) x))))
;:(lambda (f) (lambda (x) (f
;:                         ((zero f) x) ;: 这句返回x
;:                         )))

;:(lambda (f) (lambda (x) (f x)))
;: 所以这就是 one 的定义
(define one (lambda (f) (lambda (x) (f x))))
;: 定义解释: 一个函数,参数是另一个函数f,返回一个函数one-b;
;: 调用one-b 输入参数 x, 最终结果是 (f x)
;: ((one (lambda (x) (display x))) 1)

;: two 的定义
(add-1 one)
(lambda (f) (lambda (x) (f
                         ((one f) x) ;: => (f x)
                         )))
;: 所以 two的定义是
(lambda (f) (lambda (x) (f (f x))))
;: three
(lambda (f) (lambda (x) (f (f (f x)))))
;: four
(lambda (f) (lambda (x) (f (f (f (f x))))))

;: +法的定义就是 加几,就多几个 (f ) 次调用
(define + (a b)
  (lambda (f) (lambda (x)
                (f (f (f ;: a 次 f
                       (f ( f (f ;:... b 次f 
                               x)
                              ))))))))
版权声明:知行合一

相关文章推荐

[RTT例程练习] 2.6 互斥锁 mutex

互斥锁是一种保护共享资源的方法。当一个线程拥有互斥锁的时候,另一个线程若是等待锁,则其就会被挂起,从而保证只有一个线程会操作共享数据。 这里的例子同样有静态锁和动态锁,其差别同之前一样,仅仅是创建和...

C++[pp]--课后练习与答案--2.6

1.C++ 程序的模块叫什么? 答案:函数 函数(function) 分为有返回值和无返回值 格式:type functionname (argumentlist) { state...

数据结构与算法分析Java版练习2.3,2.4,2.5,2.6和2.7

【SICP练习】47 练习2.6

练习2.6 如果这道题还没有做的请务必要先自己思考并检验。如果没有能够求出来,也可以在看完我推导的one之后自己再来推导two。 一开始我也不懂题目中的两个式子是什么意思,甚至连怎么用都不知道。但...
  • NoMasp
  • NoMasp
  • 2015-02-22 13:44
  • 3672

Python2.6+PyQt4.8+eric4+汉化+开发教程

2010年11月17日   一篇不错的文档,不过有些许错误,已用蓝色大号字注释出了   Python做为一个角本语言,其据有跨平台,开发容易等众多特点,被称为跨平台的VB,如果讨厌java的复...

Linux 2.6内核新变化

内核抢占   内核抢占补丁在2.5系列中就已经被打上,接下来在2.6中也会打。这将显著地降低用户交互式应用程序、多媒体应用程序等类似应用程序的延迟。这一特性对实时系统和嵌入式系统来说特别有用。 ...

linux2.6内核ppp分析

1 简介ppp协议(点到点协议),在拨号网络中应用比较广泛,逐渐在替代slip协议。ppp数据包格式为:| 协议码 | 载荷   |填充符ppp主要有四类协议码:   1 0x0001 - 0x3ff...

开源 java CMS BBS - FreeCMS2.6 网上调查

java开源论坛系统http://javabbs.javaz.cn 项目地址:http://www.freeteam.cn/ 网上调查 1. 网上调查管理 从左侧管理菜单点击网上调查进...

differences between Linux kernel 2.6 and Linux kernel 3.0

Linus Torvalds christens the next Linux kernel 3.0 End of the Linux 2.x era By Lawrence Latif ...

Linux2.6虚拟文件系统VFS

一、什么是虚拟文件系统 1.VFS是用户的应用程序与文件系统实现之间的抽象层 2.VFS支持以下三种类型的文件系统 (1)磁盘文件系统 (2)网络文件系统 (3)特殊文件系统...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)