文档章节

【SICP练习】118 练习3.45【待完成】

NoMasp
 NoMasp
发布于 2015/09/08 21:45
字数 258
阅读 1
收藏 0

练习3-45

原文

Exercise 3.45. Louis Reasoner thinks our bank-account system is unnecessarily complex and error-prone now that deposits and withdrawals aren’t automatically serialized. He suggests that make-accountand-serializer should have exported the serializer (for use by such procedures as serializedexchange) in addition to (rather than instead of) using it to serialize accounts and deposits as makeaccount did. He proposes to redefine accounts as follows:

 (define (make-account-and-serializer balance) (define (withdraw amount) (if (>= balance amount) (begin (set! balance (- balance amount)) balance) "Insufficient funds")) (define (deposit amount) (set! balance (+ balance amount)) balance) (let ((balance-serializer (make-serializer))) (define (dispatch m) (cond ((eq? m 'withdraw) (balance-serializer withdraw)) ((eq? m 'deposit) (balance-serializer deposit)) ((eq? m 'balance) balance) ((eq? m 'serializer) balance-serializer) (else (error "Unknown request -- MAKE-ACCOUNT" m)))) dispatch))

Then deposits are handled as with the original make-account:

(define (deposit account amount) ((account 'deposit) amount))

Explain what is wrong with Louis’s reasoning. In particular, consider what happens when serializedexchange is called.

代码

临时发现有误,待完成。



感谢访问,希望对您有所帮助。 欢迎关注或收藏、评论或点赞。


为使本文得到斧正和提问,转载请注明出处:
http://blog.csdn.net/nomasp


版权声明:本文为 NoMasp柯于旺 原创文章,未经许可严禁转载!欢迎访问我的博客:http://blog.csdn.net/nomasp

本文转载自:http://blog.csdn.net/nomasp/article/details/44654825

NoMasp
粉丝 7
博文 334
码字总数 0
作品 0
镇江
程序员
私信 提问
加载中

评论(0)

Calibre 3.46 发布,功能强大的电子书管理软件

Calibre 3.46 已发布。Calibre 是一款功能强大的电子书管理软件,支持 Amazon、Apple、Bookeen、Ectaco、Endless Ideas、Google/HTC 与 Hanlin Song 设备及格式。 此版本的更新内容主要是修复...

局长
2019/07/22
1.2K
2
代码大全读书笔记——第23章 调试

第二十三章 调试 1.调试概述 .开发高质量软件产品的最佳途径是精确描述需求,完善设计,并使用高质量的代码编写规范,调试只是迫不得已时候才使用的手段。 .调试软件,可以从错误中学习很多东...

madbooker
2014/05/10
357
0
Kaggle入门(二)——Dogs vs. Cats

[TOC] 0 前言 比赛网址: https://www.kaggle.com/c/dogs-vs-cats-redux-kernels-edition 参考解法: https://www.kaggle.com/jeffd23/catdognet-keras-convnet-starter https://www.kaggle.......

w风行者s
2019/03/19
0
0
【书坊11月赠书福利——第二期】《“笨办法”学Python》 (第3版)

赠书活动停留了一个月,今天开始正常进行,继续每周都给大家送出最新、最好、最实用的技术书。 本周赠品 本周,微信君给大家推荐@人民邮电出版社-信息技术分社 刚刚上架的新书《“笨办法”学...

生气的散人
2014/11/18
313
0
HTTrack 3.45-1 发布,网站离线浏览器

HTTrack/WebHTTrack 3.45-1 发布,该版本主要是修复了下载过程中的两三个小bug。 HTTrack 是一个免费开源的网站离线浏览器。通过它可以将整个网站下载到本地的某个目录,包括html、图片和脚本...

红薯
2012/03/18
684
0

没有更多内容

加载失败,请刷新页面

加载更多

springcloud微服务实战_09_消息驱动

9.1 spring cloud stream 简介 spring cloud stream 是一个用来为微服务应用提供消息驱动能力的框架. 它可以基于 springboot 来单独的创建独立的,可用于生产的 spring 的应用程序. 它通过使用...

SP_K
31分钟前
75
0
福昕PDF编辑器个人版不能登录多个电脑问题处理

问题 福昕PDF编辑器个人版,只能在两台电脑登录,而且不能同时登录。但是当买换了新电脑后,新电脑属于第三台电脑,就不能登录使用编辑功能了。 解决 打开“我的电脑”,搜索出如下文件,删除...

InfoInit
43分钟前
65
0
pandas操作excel-08-简单绘图-柱状图

import pandas as pdimport matplotlib.pyplot as pltstudents = pd.read_excel('D:/output.xlsx', index_col='idx')students.sort_values(by='SinglePrice', inplace=True, ascending=......

烽焱10仴
44分钟前
52
0
向点击事件监听器添加“返回假”有什么作用?

很多次,我在HTML页面中都看到过这样的链接: <a href='#' onclick='someFunc(3.1415926); return false;'>Click here !</a> 那里return false有什么作用? 另外,我通常不会在按钮中看到它......

技术盛宴
50分钟前
37
0
搞不定Kafka重复消费?来看看就不一样了

前言 今天我们聊一个话题,这个话题大家可能在面试过程中,或者是工作当中经常遇到 :point_right: 如何保证 Kafka 消息不重复消费? 我们在做开发的时候为了程序的健壮性,在使用 Kafka 的时...

Java进阶程序员xx
今天
47
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部