没有合适的资源?快使用搜索试试~ 我知道了~
Sketchy LISP
5星 · 超过95%的资源 需积分: 10 9 下载量 54 浏览量
2010-09-28
19:00:44
上传
评论
收藏 535KB PDF 举报
温馨提示
试读
180页
Sketchy LISP-- An Introduction to Functional programming in Scheme
资源推荐
资源详情
资源评论
Nils M Holm
Sketchy LISP
An Introduction to Functional Programming in Scheme
Third Edition
Sketchy LISP -- Third Edition
Copyright (C) 2006,2007,2008 Nils M Holm
All rights reserved.
Print and Distribution: Lulu Press, Inc
ISBN 978-1-4116-7448-6
Order: www.lulu.com/content/213736
Preface
A lot has happened since the release of the previous edition of
Sketchy
LISP
. The ‘‘Six’th Revised Report on the Algorithmic Language
Scheme’’(R
6
RS) was ratified and Scheme is no longer the language it used
to be.
This edition is dedicated to the principle that made Scheme a language that
was esteemed by researchers, educators, and creative coders all around
the world:
Programming languages should be designed not by piling feature on top
of feature, but by removing the weaknesses and restrictions that make
additional features appear necessary.
-- R
n
RS introduction
Unfortunately this principle was abandoned in the R
6
RS process. I created
this edition in the hope that enough people will stay interested in the small
and beautiful language that Scheme used to be, so the R
5
RS will remain a
de-facto standard
After publishing the second edition of Sketchy LISP a lot of people
mailed me with really good ideas on how to improve the book. I consid-
ered all of them and implemented most of them:
This edition uses a more consistent style in the examples, which is partic-
ularly important to beginners. A style guide was added to the appendix.
A new chapter was added that illustrates what ‘‘real-world’’Scheme code
looks like by discussing a more complex program in great detail.
Some subtle flaws in the code were fixed. In particular the
case
syntax
of chapter 3 now works in exactly the same way as the actual Scheme
syntax.
Have fun reading the new edition!
Nils M Holm, August 2008
Acknowledgements
Thanks to all the people who pointed out subtle flaws in the code, suggest-
ed improvements, and proposed additions.
Preface to the Second Edition
This is the revised and extended second edition of
Sketchy LISP
. This
edition discusses the Scheme language in much more general terms and
makes fewer references to an actual implementation. The terminology is
much more ‘‘schemy’’, for example ‘‘functions’’ are called ‘‘procedures’’
now and pseudo functions are explained in terms of syntax transfor-
mation.
This edition adds various topics that were not covered in the previous
edition. The section about Scheme syntax has been extended and now
covers macros, there is a new section about quasiquotation, and there are
two additional appendices containing a table of example programs and
brief summary of all Scheme functions discussed in the book.
Overall, the book has been made more general. All references to proce-
dures that were part of a specific implementation have been removed. For
example,
letrec
is explained in terms of
let
and
set!
now rather than
introducing an implementation-dependent model.
Finally, the prose was revised, some typos were removed, and the text
was streamlined for easier reading. I hope that you enjoy reading this
new edition!
Nils M Holm, May 2007
Acknowledgements
Thanks to Diana Jeschag for catching some typos that slipped past me.
Preface to the First Edition
This book presents an overview of the Scheme programming language
with strong emphasis on functional programming. Language elements
and programming techniques are explained by means of simple examples
which are used to form more complex programs.
Functional programming is an approach that focuses on the evaluation of
expressions.Programsare formed by combining functions.Most functions
are free of side effects which allows to examine programs formally and
prove properties of algorithms.
The first chapter of this book introduces basic concepts such as definitions,
conditional evaluation, recursion, procedures, and elementary data types.
While the second chapter continues this tour, it puts emphasis on more
complex programs by introducing problems of varying complexity and
then outlining the way to their solution step by step.
The last chapter takes up some lose ends and briefly introduces continua-
tions, one of the more advanced features of Scheme. It also demonstrates
how Scheme can be viewed as a formal system by constructing a Y com-
binator.
To make best use of this book, experimenting with the given examples is
strongly recommended. See the appendix for download URLs and a brief
introduction to the program development cycle.
The Scheme language achieves what only few languages have managed
before: to bring fun back to programming. Its simple syntax, clean seman-
tics, and powerful functions open the door to a fresh perspective on pro-
gram design. Programming in Scheme is fun, and this book is an attempt
to share some of that fun.
Nils M Holm, Feb. 2006
Acknowledgements
Thanks to Diana Jeschag for proof reading, to Al Petrofsky for explaining
some of the more subtle details of binding constructs and continuations,
and to Jens Axel Søgaard, Anton van Straaten, and other regulars of
the
comp.lang.scheme
newsgroup for helping me to get used to the
concept of continuations.
剩余179页未读,继续阅读
资源评论
- nana5206082013-10-13想学习scheme,这本书不错
qiaoqiao2003
- 粉丝: 2
- 资源: 21
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于Python天气动态大屏代码和数据(可做毕设/课设)
- .NET框架的身份管理和认证-Identity框架
- 图像超分辨率基准数据集
- VB6.0Access进销存信息管理系统.7z
- MATLAB是由美国MathWorks公司开发的一款商业数学软件,被誉为“矩阵实验室” 它集成了数值分析、矩阵计算、科学数据可视
- 数据库课程设计通常包括一系列的教学资源和材料,这些资源旨在为学生提供全面的学习支持 首先,课程通常提供一套完整的教材或讲义,介绍
- TCP2ComV1.1.5.1免费好用的串口转TCP工具.zip
- Python以其简洁易读、功能强大的特性吸引了大量开发者 它的语法设计清晰,使得初学者能够更快地掌握编程的基本概念 同时,Pyt
- Springboot集成Mybatispuls操作mysql数据库
- Pages-SUB-Convert-mian.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功