自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

郭東的博客

IT技术备忘录

  • 博客(24)
  • 收藏
  • 关注

原创 SICP 1.16-1.19

习题1.16 (define (fast-expt b n) (define (fast-expt-iter result b n) if (

2016-08-31 18:11:47 442

原创 SICP 1.14-1.15

习题1.14 习题1.15(define (cube x) (* x x x)) (define (p x) (- (* 3 x) (* 4 (cube x)))) (define (sine angle) (if (not (> (abs angle) 0.1)) angle (p (sine (/ angle 3.0)))))参照: a) Each tim

2016-08-31 17:48:11 542

原创 SICP 1.11-1.13

习题1.11 1.递归算法 (define (f n) (if ( n 3) n (+ (f (- n 1)) (* 2 (f (- n 2))) (* 3 (f (- n 3)))))) 2

2016-08-31 15:10:05 547

原创 SICP 1.09-1.10

习题1.9(define (+ a b) (if (= a 0) b (inc (+ (dec a) b)))) (+ 4 5) (inc (+ 3 5)) (inc (inc (+ 2 5))) (inc (inc (inc (+ 1 5)))) (inc (inc (inc (inc (+ 0 5))))) (inc (inc (inc (inc 5)))) (

2016-08-31 13:43:52 951

原创 SICP 1.06-1.08

习题1.6 lisp

2016-08-30 16:55:16 555

原创 SICP 1.01-1.05

习题1.110 => 10(+ 5 3 4) => 12(- 9 1) => 8(/ 6 2) => 3(+ (* 2 4) (- 4 6)) => 6 (define a 3) a => 3(define b (+ a 1)) b => 4(+ a b (* a b)) => 19(= a b) => #f(if (and (> b a) (< b (* a b))) b

2016-08-30 16:10:39 581

翻译 Gambit 4.运行时选项

无论gsi和gsc以及可执行程序的编译和使用链接,都是通过’-:’选项来为运行时系统提供参数。参数之间是用逗号隔开,中间不能有空格。 参数说明: mHEAPSIZE 设置最小堆大小,单位KB。 hHEAPSIZE 设置最大堆大小,单位KB。 lLIVEPERCENT 设置垃圾回收后,堆得占用量。 s 选择标准的Scheme模式。 S

2016-08-30 15:13:04 449

原创 Makefile选项CFLAGS,LDFLAGS,LIBS

CFLAGS 表示用于 C 编译器的选项, CXXFLAGS 表示用于 C++ 编译器的选项。 这两个变量实际上涵盖了编译和汇编两个步骤。 [CFLAGS]:指定头文件(.h文件)的路径,如:CFLAGS=-I/usr/include -I/path/include。同样地,安装一个包时会在安装路径下建立一个include目录,当安装过程中出现问题时,试着把以前安装的包的include目

2016-08-30 14:43:29 327

翻译 Gambit 3.Gambit编译器

概要: gsc [-:runtimeoption,…] [-i] [-f] [-v] [-prelude expressions] [-postlude expressions] [-dynamic] [-exe] [-obj] [-cc-options options] [-ld-options-prelude options] [-ld-options options]

2016-08-30 09:56:17 714

翻译 Gambit 2.Gambit解释器

gsi [-:runtimeoption,…] [-i] [-f] [-v] [[-] [-e expressions] [file]]… 2.1交互模式 交互模式是一个”读-执行-打印 循环(read-eval-print loop)” 简称REPL。 输入和输出通过交互信道进行相互作用。交互通道可以通过运行时选项来指定,如果没有指定,取决于系统的默认配置。默认情况下,’(curr

2016-08-29 16:45:32 782

翻译 Gambit 1.Gambit环境

Gambit系统完整的实现了R4RS,R5RS和IEEE Scheme标准。它包含两个主要程序:   gsi Gambit Scheme解释器(interpreter)   gsc Gambit Scheme编译器(compiler) Gambit编译器生成可移植的C代码,使得整个Gambit系统和它编译的程序可以轻松地移植到许多支持C编译器的机器架构上。Gambit编译器生成的可执

2016-08-29 15:34:58 806

转载 Linux命令 gcc

转载: Linux GCC常用命令 1.简介GCC本意为GNU C Compiler,经过了这么多年的发展,GCC 已经不仅仅能支持 C 语言;它现在还支持 Ada 语言、C++ 语言、Java 语言、Objective C 语言、Pascal 语言、COBOL语言,以及支持函数式编程和逻辑编程的 Mercury 语言,等等。而 GCC 也不再单只是 GNU C 语言编译器的意思了,而是变成了GNU

2016-08-29 13:55:03 413

转载 Linux命令 ldd

转载: Linux中的ldd命令和pvs命令 ldd命令用于判断某个可执行的 binary 档案含有什么动态函式库。 参数说明: –version  打印ldd的版本号 -v –verbose  打印所有信息,例如包括符号的版本信息 -d –data-relocs  执行符号重部署,并报告缺少的目标对象(只对ELF格式适用) -r –function-relocs  对目标对象和函数执行重

2016-08-29 13:23:58 676

原创 Scheme R5RS 5.程序结构

程序Scheme程序由一系列表达式,定义和语法定义组成。 出现在程序最高层的定义和语法定义可被解释为声明,它们是在最高层环境创建绑定,或者改变已有的最高层绑定的值。 出现在程序最高层的表达式被解释为命令,当程序被调用或被加载时,它们按顺序执行,通常会完成某些初始化的工作。 定义 定义只能出现在程序<program>的最高层或<body>的开头。 定义的形式:1. (define <

2016-08-26 18:33:42 838

转载 Linux命令 pkg-config

你在 Unix 或 Linux 下开发过软件吗?写完一个程序,编译运行完全正常,在你本机上工作得好好的,你放到源代码管理系统中。然后,告诉你的同事说,你可以取下来用了。这时,你长长的出了一口气,几天的工作没有白费,多么清新的空气啊,你开始飘飘然了。“Hi,怎么编译不过去?”你还沉浸在那种美妙的感觉之中,双臂充满着力量,似乎没有什么问题能难倒你的。正在此时,那个笨蛋已经冲着你嚷开了。“不会吧,我这边好

2016-08-25 17:37:46 581

转载 Lisp之根源

转载: Lisp之根源约翰麦卡锡于1960年发表了一篇非凡的论文,他在这篇论文中对编程的贡献有如欧几里德对几何的贡献.他向我们展示了,在只给定几个简单的操作符和一个表示函数的记号的基础上, 如何构造出一个完整的编程语言. 麦卡锡称这种语言为Lisp, 意为List Processing, 因为他的主要思想之一是用一种简单的数据结构表(list)来代表代码和数据. 值得注意的是,麦卡锡所作的发现,不仅

2016-08-25 17:05:26 548

原创 Scheme版本修订进展

参照: Scheme Working Groups

2016-08-25 16:06:34 487

转载 プログラミング言語 Scheme の解説

转载: プログラミング言語 Scheme の解説1.規格プログラミング言語 Scheme の規格は Revisedn Report on Algorithmic Language Scheme と呼ばれる文書で提供されている。 略して RnRS と記述されることが多い。 n の箇所は版の番号が入り、例えば現時点の最新版であれば R7RS ということになる。その他、公式な規格とは別に SRFI や E

2016-08-25 15:41:26 845

转载 Scheme

转载: 维基百科 Scheme是一种函数式编程语言,是Lisp的两种主要方言之一(另一种为Common Lisp)。不同于Common Lisp,Scheme遵循极简主义哲学,以一个小型语言核心作为标准,加上各种强力语言工具(语法糖)来扩展语言本身。麻省理工学院与其他院校曾采用Scheme教授计算机科学入门课程。著名的入门教材《计算机程序的构造和解释》(SICP,或称“魔法书”)利用Scheme来

2016-08-25 12:50:59 7056

原创 Scheme R5RS 4.表达式

表达式类型分为基本类型和派生类型两种. 1. 基本表达式类型包括变量和过程调用. 2. 派生表达式类型在语义上不是基本类型,但可以被定义为宏. 基本表达式类型变量引用由一个变量构成的表达式是变量引用. (define x 28) 常量表达式(quote 〈datum〉)     可简写为 ‘〈datum〉 数值常量,字符常量,字符串常量和布尔常量的值是”它们自身”. 〈datu

2016-08-24 19:20:24 724

原创 Scheme R5RS 3.基本概念

变量 , 语法关键字 一个标识符可以命名一个语法类型,或命名一个值的存储位置. 命名某语法类型的标识符被称为语法关键字,也就是说它与该语法绑定在一起. 命名某存储位置的标识符被称为变量,即它与该存储位置绑定在一起. 绑定结构 某些表达式类型可用于创建新的语法种类,并将语法关键字绑定到新语法.另一些表达式类型可用于创建新的存储位置,并将变量绑定到那些存储位置.这些表达式类型被称为绑定结构. 最基本的

2016-08-24 17:55:23 966

转载 Linux命令 strace

简介 strace常用来跟踪进程执行时的系统调用和所接收的信号。 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通 过系统调用访问硬件设备。strace可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间。 输出参数含义root@ubuntu:/usr# strace cat /dev/

2016-08-24 17:12:00 240

原创 Scheme R5RS 1.概论

语义语法 Scheme 是一种静态作用域的程序设计语言.对变量的每一次使用都对应于该变量在词法上的一个明显的绑定. Scheme 中采用的是隐式类型而非显式类型.类型与值 (也称对象)相关联,而非与变量相关联. Scheme 的实现必须支持严格尾递归. Scheme 过程在本质上都是对象. Scheme 过程的参数总以值的方式传递,即无论过程是否需要实参的值,实参表达式都会在过程获得控制权之前被求

2016-08-24 16:52:16 566

原创 Scheme R5RS 2.词法约定

词法约定除了在字符和字符串常量中以外, Scheme 从不区分字 母的大小写形式. 例如, Foo 和 FOO 是相同的标识符, #x1AB 和 #X1ab 是相同的数值. 本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列图和流程图 离线写

2016-08-24 15:27:44 426

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除