Resources

These are websites, papers, and other resources that you might find useful. Please feel free to suggest others.

occam resources

Our programming in occam will involve a number of resources that are hard or impossible to find elsewhere.

plumbing occamdoc

The Plumbing library is under development. You are encouraged to suggest additions, and encouraged even further to write PROCs that you think should be available and submit them for inclusion.

Included here is the occamdoc for the library as of…

Ben-Ari, Understanding Programming Languages

Understanding Programming Languages is a good introduction to a number of concepts in PL.

I found links to a full (legally available) copy online here:

http://www.freetechbooks.com/understanding-programming-languages-t657.html

I trimmed this down…

Basics

A good place to start is the Design Recipe. I've explained this on the page titled Coding Style, but really, it serves as a great example for the basics of programming in Scheme.

I'll write up the absolute basics so you have them to refer to.

Coding Style

We will follow the coding style and design recipe set forth in How to Design Programs (HtDP). A summary of the salient points regarding the recipe and style follows.

CONTRACT

Programs consume and produce data. Regardless of the language we are…

Unit Testing in PLT Scheme

You can write tests for your code using the tools detailed in the PLAI documentation. Or, if you want, you can use SchemeUnit. This page walks you through writing unit tests in SchemeUnit, because it isn't that hard.

Create a test file

Assume your…

Papers

Copies of papers that I think are relevant/interesting (password protected).

PLT Scheme Documentation

PLT Scheme Documentation


The PLT Scheme on-line documentation.

How To Design Programs

How To Design Programs


A good starting point for people new to Scheme. I particularly recommend the sections on the Design Recipe and data structures (especially the transition from structures to lists).

The Scheme Programming Language

The Scheme Programming Language


An encyclopedic reference; use the index.

Teach Yourself Scheme in Fixnum Days

Teach Yourself Scheme in Fixnum Days


Focused, potentially of value.

Programming Languages: Application and Interpretation

Programming Languages: Application and Interpretation


The course text.

Worse is Better / Beating the Averages

On Wednesday, February 11th, the seemingly simple question was asked: what do we do in the face of duplicate bindings?

{with { {x 3} {y 2} {x 5} } {+ x y}}

The binding for "x" appears twice in this list of bindings. How do we handle this?

Creative Commons License This work is licensed under a CC BY-SA 3.0 License.