• Stars
    star
    111
  • Rank 312,487 (Top 7 %)
  • Language
    Scheme
  • Created over 14 years ago
  • Updated almost 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

All of the exercises (and their solutions!) from the Berkeley textbook Simply Scheme.

SIMPLY SCHEME EXERCISES

NOTE: It would be cool to see other peoples solutions to these problems! ;)

This project contains my solutions to the exercises and projects presented at the end of each chapter in the textbook Simply Scheme (Brian Harvey and Matthew Wright, 2nd ed, MIT 1999).

The book is freely available here: http://www.cs.berkeley.edu/~bh/ss-toc2.html

I have omitted the first two chapters as they are very basic and contain little or no actual code. Also, on most chapters, there is a section called "Boring exercises" and a section called "Real exercises". I've omitted all boring exercises because their solutions contain no actual code and they are... well... boring.

The code samples throughout the book use a slightly modified implementation of Scheme (syntactically LISP, but with some additional primitive procedures). To get this augmentation working correctly in Dr. Scheme, you must choose "Pretty Big" from the languages menu and then install the extensions via the REPL:

> (require (planet dyoo/simply-scheme:1:2/simply-scheme))

I try to only use concepts and procedures that have been introduced when answering questions (e.g I don't use recursion before it's been discussed, nor do I use variables -- other than the lambda shorthand notation -- until chapter 7).

For the record, I recommend this particular book for anyone who:

  1. Wants to (re)learn LISP and/or functional programming
  2. Finds SiCP difficult to digest (hint: read SS and then SiCP)
  3. Is looking for a good introduction to programming

The text is available for free in PDF format. It's distributed under the GNU General Public License. I place all of my solutions and original work on this project in the public domain.

More Repositories

1

SwervinMervin

A truly radical homage to 16-bit racing games.
Python
231
star
2

discogs

A Ruby wrapper of the Discogs.com API
Ruby
219
star
3

barcoders

A barcode encoding library for the Rust programming language
Rust
164
star
4

MoonDweller

A text-based adventure. You will definitely die.
Clojure
67
star
5

pioneers

An interactive study of the impact of pioneers in the field of computer science.
TypeScript
26
star
6

CarEngines

Some simple techniques for generating car engine sound effects
JavaScript
20
star
7

Medieval-Alien-Massacre

A sadistic, pro-death text-based adventure for children.
Clojure
17
star
8

Dim-Jump

A fried Dim Sim on the run with nothing to lose
Lua
16
star
9

wrestlers-adapter

TCP -> HTTP adapter for alerting on wifi events.
Rust
16
star
10

laser-drift

Reverse engineered Carrera Digital 132/124 infrared controller suite
Python
15
star
11

Haskell--Craft-of-FP

My progress through "Haskell: The Craft of Functional Programming (2nd edition)" by Simon Thompson
Haskell
15
star
12

basmap

Buntine's Awesome SiteMap Audit Program
Rust
10
star
13

discogs-oauth

An example app for authenticating with OAuth using my Discogs library.
Ruby
8
star
14

necroblaster

A rhythm game for the metal-obsessed.
Lua
7
star
15

love2d-top-down-shooter

A prototype top-down shooter game
Lua
5
star
16

bolverk

An 8-bit microprocessor emulator, built for educational purposes.
Ruby
5
star
17

rust-crawler

A simple website crawler in Rust.
Rust
4
star
18

traka

Rails plugin for tracking changes to resources over time.
Ruby
3
star
19

Life-is-a-game

Conway's Game of Life implemented in PLT Scheme
Scheme
3
star
20

love2d-tiled-sti

2D Platformer experiments with Lua, Love2d, Tiled, STI and others
Lua
3
star
21

carrera-champs

Python
3
star
22

merb-restful-links

A Merb plugin that allows you to make "RESTful requests" with the link_to helper method.
3
star
23

dimjump

A fried Dim Sim on the run with nothing to lose...
Clojure
3
star
24

witchhammer

A firefox extension to easily find bands and albums at metal-archives.com
JavaScript
3
star
25

ternary-machines

Notes and examples for an essay
2
star
26

trafficlive

A Python wrapper of the TrafficLive API
Python
2
star
27

dots

For Mel
Clojure
2
star
28

RubySwift

A Ruby wrapper of the Swift Digital Suite API
Ruby
2
star
29

Our-sites

A Clojure web app (Compojure) to display the sites hosted on our staging server.
Clojure
2
star
30

algo2

Rust
2
star
31

dm-multi-hooks

A DataMapper plugin that allows you to assign multiple hook methods easily
2
star
32

Bolverk-Assembler

An assembly language compiler for the Bolverk microprocessor emulator.
Ruby
2
star
33

valshamr

A collection of small, integrated tools that perform some common IPv6 related tasks.
Ruby
2
star
34

Fractals

My experiments in generating fractal art with Scheme
Scheme
1
star
35

rust-playground

My playground for learning Rust. Expect horrible code.
Rust
1
star
36

started-from-the-bottom

Tribute to Drake
JavaScript
1
star
37

Dubstep-Makes-You

JavaScript
1
star
38

p-prime-prime

1
star
39

bunts-io

Bunts.io
Clojure
1
star
40

ir-plot

Python
1
star
41

Quick-ROT13

A Mozilla Firefox extension to quickly apply a ROT13 or ROT47 cipher to a body of text.
JavaScript
1
star
42

The-Solar-System-is-Badass

A parallax demo for my presentation at Web Directions
JavaScript
1
star
43

picster

Example app for my web dev students
Ruby
1
star
44

bolverk_ui

A Sinatra application, which provides a UI for the Bolverk machine emulator
JavaScript
1
star
45

Lisp-Brainfuck-REPL

A brainfuck REPL implemented in Scheme
Scheme
1
star
46

Brainfuck-Yo-self

A basic brainfuck interpreter in Python.
Python
1
star
47

daily_hunks

Daily Hunks for the Bergcloud Little Printer. Hot piece o' ass on demand.
Ruby
1
star
48

cd_git_branch

A "cd" replacement that warns you about non-master branches of a Git repository
Python
1
star
49

jquery.colorChars.js

The most important JQuery plugin in the universe: Colors character groups in a collection of elements.
JavaScript
1
star
50

blobber

A simple Javascript example for my web dev students
JavaScript
1
star