The Scheme Programming Language by R. Kent Dybvig

By R. Kent Dybvig

Scheme is a general-purpose programming language, descended from Algol and Lisp, everyday in computing schooling and examine and a large variety of business purposes. This completely up-to-date variation of The Scheme Programming Language offers an advent to Scheme and a definitive reference for traditional Scheme, provided in a transparent and concise demeanour. Written for pros and scholars with a few past programming adventure, it starts by means of prime the programmer lightly in the course of the fundamentals of Scheme and maintains with an creation to a couple of the extra complicated beneficial properties of the language. The fourth version has been considerably revised and elevated to deliver the content material modern with the present Scheme ordinary, the Revised6 file on Scheme. All components of the e-book have been up-to-date and 3 new chapters have been extra, protecting the language's new library, exception dealing with, and record-definition beneficial properties. The e-book bargains 3 chapters of introductory fabric with quite a few examples, 8 chapters of reference fabric, and one bankruptcy of prolonged examples and extra routines. the entire examples may be entered without delay from the keyboard into an interactive Scheme consultation. solutions to a number of the workouts, a whole formal syntax of Scheme, and a precis of varieties and strategies are supplied in appendixes. The Scheme Programming Language is the one publication to be had that serves either as an introductory textual content in a number of classes and as an important reference for Scheme programmers.

Show description

Read Online or Download The Scheme Programming Language PDF

Best programming languages books

TCP/IP Analysis and Troubleshooting Toolkit

Vital advisor for troubleshooting and studying TCP/IP on the web and company networkFollows a realistic method of make sure that TCP/IP remains up and runningDescribes difficulties in response to genuine situations within the box and offers confirmed strategies to accommodate themExplains the best way to use to be had instruments and utilities to their greatest advantageCompanion site comprises samples situations and code from the ebook

Smalltalk-80: The Language and its Implementation

Desk OF CONTENTS: (1) gadgets and Messages (2) Expression Syntax (3) periods and cases (4) Subclasses (5) Metaclasses (6) Protocol for all items (7) Linear Measures (8) Numerical periods (9) Protocol for All assortment sessions (10) Hierarchy of the gathering periods (11) 3 Examples that Use Collections (12) Protocol for Streams (13) Implementation of the fundamental assortment Protocol (14) Kernel aid (15) a number of autonomous techniques (16) Protocol periods (17) The Programming Interface (18) pictures Kernel (19) Pens (20) exhibit gadgets (21) chance Distributions (22) Event-Driven Simulations (23) records amassing in Event-Driven Simulations (24) using assets in Event-Driven Simulations (25) Coordinated assets for Event-Driven Simulations (26) The Implementation (27) Specification of the digital computing device (28) Formal Specification of the Interpreter (29) Formal Specification of the Primitive tools (30) Formal Specification of the item reminiscence.

Nominal Sets: Names and Symmetry in Computer Science

Nominal units supply a promising new mathematical research of names in formal languages established upon symmetry, with many purposes to the syntax and semantics of programming language constructs that contain binding, or localising names. half I presents an creation to the elemental thought of nominal units.

Agile ALM: Lightweight tools and Agile strategies

Agile ALM is a consultant for Java builders who are looking to combine versatile agile practices and light-weight tooling alongside all levels of the software program improvement technique. The ebook introduces a brand new imaginative and prescient for coping with switch in necessities and procedure extra successfully and flexibly. It synthesizes technical and sensible parts to supply a entire method of software program improvement.

Extra info for The Scheme Programming Language

Example text

Myq 'd) (getq myq) c (delq! 1 Modify make-counter to take two arguments: an initial value for the counter to use in place of 0 and an amount to increment the counter by each time. 3. Replace the cond expression in make-stack with an equivalent case expression. Add mt? as a second name for the empty? message. 3 Modify the stack object to allow the two messages ref and set!. (stack 'ref i) should return the ith element from the top of the stack; (stack 'ref 0) should be equivalent to (stack 'top).

Up to now, the recursion has been only on the cdr of a list. It is sometimes useful, however, for a procedure to recur on the car as well as the cdr of the list. The procedure tree-copy defined below treats the structure of pairs as a tree rather than as a list, with the left subtree being the car of the pair and the right subtree being the cdr of the pair. It performs a similar operation to list-copy, building new pairs while leaving the elements (leaves) alone. (define tree-copy (lambda (tr) (if (not (pair?

The second clause asks if the car of the list is the object, in which case the list is returned, being the first tail whose car contains the object. The recursion step just continues down the list. There may also be more than one recursion case. Like memv, the procedure remv defined below takes two arguments, an object and a list. It returns a new list with all occurrences of the object removed from the list. (define remv (lambda (x ls) (cond [(null? ls) '()] [(eqv? 8. Simple Recursion 39 The Scheme Programming Language, 4th Edition (remv (remv (remv (remv 'a 'b 'c 'd '(a '(a '(a '(a b b b b b b b b d)) d)) d)) d)) (b (a (a (a b d) d) b b d) b b) This definition is similar to the definition of memv above, except remv does not quit once it finds the element in the car of the list.

Download PDF sample

Rated 4.04 of 5 – based on 12 votes