6 Invaluable Free Scheme Books
Scheme is a general-purpose, functional, programming language
that is descended from Lisp and Algol. It is a
statically scoped and properly tail-recursive dialect of Lisp.
Scheme is a very simple language with
a very simple syntax based on s-expressions. Its simplicity has
been fundamental in making it a popular introductory language. It follows
a minimalist design philosophy specifying a small standard core
with powerful tools for language extension. This philosophy helps
make Scheme a programming language that can be learned over a
weekend. Nevertheless, Scheme is a very versatile language and
has been used to write a diverse range of
applications such as financial analysis tools, compilers, virtual
reality systems, as well as more mundane software.
Scheme is used in computing education and research as well as
a wide range of industrial applications.
The focus of this article is to select some of the finest free
Scheme books which help programmers quickly master this language. To
cater for all tastes, we have selected a diverse range of
informative books on Scheme. All of the texts here come with our
recommendation. So get reading (and learning).
|
1. The Scheme Programming Language
|
 |
Scheme is now a complete general-purpose programming language,
though it still derives its power from a small set of key
concepts.
This book is intended to provide an introduction to the
Scheme programming language but not an introduction to programming in
general.
The reader is expected to have had some experience programming and
to be familiar with terms commonly associated with computers and
programming languages. This book covers the language of the
Revised 6 Report.
- Introduction - describes the properties and features
of Scheme that make it a useful and enjoyable language to use
and describes Scheme's notational conventions and the
typographical conventions employed in this book
- Getting Started - an introduction to Scheme
programming for the novice Scheme programmer that leads the reader
through a series of examples, beginning with
simple Scheme expressions and working toward progressively more
difficult ones
- Going Further - covers
more advanced features and concepts such as syntactic extension,
continuations, and libraries
- Procedures and Variable Bindings - describes
operations for creating procedures and variable bindings including
variable references, lambda, case-lambda, local binding and more
- Control Operations - examines program control
operations
- Operations on Objects - operations on the various
object types (including lists, numbers, and strings)
- Input and Output - transcoders, opening files,
standard ports, string and bytevector ports, opening custom ports, port
operations, input operations, output operations, convenience I/O,
filesystem operations, and bytevector/string conversions
- Syntactic Extension - looks at keyword bindings,
syntax-rules transformers, syntax-case transformers
- Records - record-type definitions
- Libraries and Top-Level Programs - standard
libraries, defining new libraries, and top-level programs
- Exceptions and Conditions
- Extended Examples
|
|
2. How to Use Scheme: The Book
|
|
| Website |
www.htus.org |
| Author |
Matthias Felleisen, Robert Bruce Findler, Matthew
Flatt, Shriram Krishnamurthi,
Paul Steckler
|
| Format |
HTML |
| Pages |
- |
How to Use Scheme bridges the gap between the basic
steps of how to design programs and how to design large programs that
interact with all kinds of items in our computer and the network to
which it is connected. It introduces the reader to some pretty basic
ideas, such as file input and output, to more advanced things, such
simple GUI design and Web scripting.
Chapters cover:
- File Input and Output
- S-expressions
- XML and X-expressions
- The Conventiona Way
- Reading and Writing Binary Data
- Ports:
- Ports
- Files and Ports
- Strings and Ports
- Networking and Ports
- Creating Your Own Ports
- Strings and Regular Expressions
- Scheme Programs and Shell Scripts
- Files and Directories
- CGI Scripts
- Threads and Custodians
- Modules and Collections
- Classes and Interfaces
- The Graphics Toolbox
- COM Scripting and Dynamic HTML
The Web tree is the publisher-endorsed, on-line version
of the book.
|
|
3. Simply Scheme: Introducing Computer Science
|
 |
This introduction to computer science and computer programming
in Scheme is for non-computer science majors with a strong interest in
the subject and for computer science majors who lack prior programming
experience.
The text allows the student to experience the computer
as a tool for expressing ideas, not as a frustrating set of
mathematical
obstacles. This goal is supported by the use of Scheme, a modern
dialect of Lisp, designed to emphasize symbolic programming.
Chapters cover:
- Introduction - introduces the Scheme programming
language. It provides a collection of short Scheme programs, presented
to show off what Scheme can do
- Composition of Functions - explores functions in some
detail. This chapter separate she idea of functions from the
complexities of programming language notation
- Functions as Data - looks at higher-order functions,
lambda, as well as a tic-tac-toe example
- Recursion - Introduction to recursion, moves on to
build up to a recursive procedure by writing a number of special-case
nonrecursive procedures, starting with small arguments
and working toward larger ones. Later chapters look at recursion in
more detail, common patterns in recursive procedures, with an extended
example showing off what the reader has been learning to accomplish
- Abstraction - takes a closer look at two specific
kinds of abstraction. One is data abstraction, which means the
invention of new data types. The other is the implementation of
higher-order functions, an important category of the same process
abstraction of which third-person is a trivial example
- Sequential Programming - input and output, an
example: the functions program, files, vectors, a further example: a
spreadsheet program
|
Next
Section: 6 Invaluable Free Scheme Books - Part 2
Last Updated Saturday, May 04 2013 @ 08:11 AM EDT |