1.32 (更高层次的抽象! 乘法与加法本来就是一回事)

(define (accumulate combiner null-value term a next b)
  (define (iter a result)
  (if (> a b)
      result
      (iter (next a)
            (combiner (term a) result))))
  (iter a null-value))

(define (sum term a next b)
  (accumulate +
              0
              term
              a
              next
              b))

(define (product term a next b)
  (accumulate *
              1
              term
              a
              next
              b))

(sum (lambda (x) x)
           1
           (lambda (i) (+ i 1))
           10)

  

时间: 2024-11-06 23:42:59

1.32 (更高层次的抽象! 乘法与加法本来就是一回事)的相关文章

打破牢笼,展望更高层次的世界

笔者袁永福是一个十多年的老程序猿出来创业多年,期间经历许多曲折和磨难,成功的在炮火连天的商业战场上活了下来,并持续发展中.其中不少体会,于是提出本文的主题--打破牢笼,展望更高层次的世界. 回顾过去,我认为每个程序猿都关在一个透明的牢笼中,限制了思维.蒙蔽了眼界.蹉跎了岁月而不自知,如果不尝试走出去是一辈子都不能感知到牢笼的存在.这个牢笼就是技术本身. 一些程序员就要说,我们就是靠技术吃饭的,天天考虑各种编程技巧,技术怎么成为束缚我们的牢笼呢?那是因为很多人只是看到软件技术的表象而没看到本质.[

(Java)程序员应打破牢笼,展望更高层次的世界

回顾过去,我认为每个程序猿都关在一个透明的牢笼中,限制了思维.蒙蔽了眼界.蹉跎了岁月而不自知,如果不尝试走出去是一辈子都不能感知到牢笼的存在.这个牢笼就是技术本身. 一些程序员就要说,我们就是靠技术吃饭的,天天考虑各种编程技巧,技术怎么成为束缚我们的牢笼呢?那是因为很多人只是看到软件技术的表象而没看到本质. 孙子兵法说:不知兵之害者不能尽用兵之利也.套过来说,不知技术之害者不能尽用技术之利也.技术也存在有害的一面,它是程序猿谋生的工具,同时也是关着程序猿的牢笼.为什么是牢笼呢,这就涉及到技术的两

Kotlin将Realm提升到更高层次

作者:Víctor Manuel Pineda 时间:Feb 14, 2017 原文链接:https://antonioleiva.com/kotlin-realm-extensions/ 当有人问我,最喜欢Kotlin什么,我很难找出其突出特性. 数据类型.拉姆达(Lambda)表达式.类型推断.委托- 所有这些都担当起一系列完整的.有意义的提升,使其在这些方面不同于其基础的Java. 探索Kotlin扩展 当然,这些特性其中任何一个都是我使用最多的扩展.在所有我的Android项目中,我都利

声明式编程——抽象程度更高,关注是什么(what),而非如何做(how)

CSDN:AngularJS的设计理念是什么?灵感来自于什么? Misko:AngularJS遵循的设计理念是--构建UI应该是声明式的.这也是AngularJS中标识符(directives)想法的灵感来源. 因此有了下文的摘录: 声明式编程和命令式编程的比较 先统一一下概念,我们有两种编程方式:命令式和声明式. 我们可以像下面这样定义它们之间的不同: 命令式编程:命令"机器"如何去做事情(how),这样不管你想要的是什么(what),它都会按照你的命令实现. 声明式编程:告诉&qu

高层次综合(HLS)-简介

本文是我近段时间的学习总结,主要参考了Xilinx的技术文档以及部分网上其他资料.文档主要包括ug998<Introduction to FPGA Design Using High-Level Synthesis>,ug871<Vivado Design Suite Tutorial :High-level Synthesis>,ug902<Vivado Design Suite User Guide:High-level Synthesis>.受限于个人的FPGA水

从Windows 10家庭版升级到更高版本

从Windows 10家庭版升级到更高版本 在Windows 7.Windows 8及Windows 8.1中,Windows的企业版与其他版本(家庭版.专业版)是不同的安装镜像,而且也不能从家庭版或专业版升级到企业版.而在Windows 10中,其基础版本(家庭版.专业版.教育版.专业版),从本质上来说,是用的相同的安装镜像,所以可以从低版本(家庭版.专业版)升级到企业版或教育版. 在7月29号,MSDN订阅用户可以下载到企业版.专业版与家庭版的ISO镜像,此时人们下载不到教育版的镜像(开始能

【翻译自mos文章】11.2.0.4及更高版本号的asm实例中MEMORY_TARGET 和 MEMORY_MAX_TARGET的默认值和最小值

[翻译自mos文章]11.2.0.4及更高版本号的asm实例中MEMORY_TARGET 和 MEMORY_MAX_TARGET的默认值和最小值 来源于: Default and Minimum MEMORY_TARGET & MEMORY_MAX_TARGET Value for ASM 11.2.0.4 and Onwards (文档 ID 1982132.1) APPLIES TO: Oracle Database - Enterprise Edition - Version 11.2.0

阿里云人工智能小Ai是比深度学习更高阶的算法

(上图为阿里云人工智能科学家闵万里) 4月8日,在<我是歌手>的第四季总决赛中,出现了一个不速之客,这就是扬言能预测歌王的阿里云人工智能机器人小Ai.开场前,小Ai预测黄致列夺冠概率第一,尽管最终的歌王是李玟,但小Ai成功预测了前三名. 在了解阿里云人工智能机器人小Ai的基本运作过程后,记者认为小Ai的算法其实已经不仅是深度学习,而是在深度学习之上的更高阶算法,并就此向阿里云人工智能科学家闵万里求证,得到的回复:是的. 小Ai算法高阶在哪里? 尽管阿里云方面没有透露关于小Ai更多算法方面的信息

串行通信比并行通信的速度更高

串行通信比并行通信的速度更高 "众人拾柴火焰高"是句老话,但电脑领域却发生了多根线比不过1根线的怪事.无论从通信速度.造价还是通信质量上来看,现今的串行传输方式都比并行传输方式更胜一筹. 近两年,大家听得最多的一个词可能就是串行传输了.从技术发展的情况来看,串行传输方式大有彻底取代并行传输方式的势头,USB取代IEEE 1284,SATA取代PATA,PCI Express取代PCI--从原理来看,并行传输方式其实优于串行传输方式.通俗地讲,并行传输的通路犹如一条多车道的宽阔大道,而串