Skip to content

mrseanryan/SICP

Repository files navigation

🤓 SICP notes

A few notes about the book SICP (Structure and Interpretation of Computer Programs) from MIT Press

status - in development

Tested on Ubuntu 18.04

License: MIT

web sites

SICP book

https://mitpress.mit.edu/sites/default/files/sicp/index.html

pretty printed

http://sarabander.github.io/sicp/html/index.xhtml

PDF

https://github.com/sarabander/sicp-pdf.git

https://web.mit.edu/alexmv/6.037/sicp.pdf

lectures, course notes, assignments

MIT resouces: https://ocw.mit.edu/search/ocwsearch.htm?q=sicp

MIT lecture videos: https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-001-structure-and-interpretation-of-computer-programs-spring-2005/video-lectures/

MIT lecture notes: https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-001-structure-and-interpretation-of-computer-programs-spring-2005/lecture-notes/

http://www.billthelizard.com/2009/10/sicp-challenge.html

source code from the book

https://mitpress.mit.edu/sites/default/files/sicp/code/index.html

exercise solutions

http://community.schemewiki.org/?sicp-solutions

http://www.billthelizard.com/search/label/sicp

Scheme language (LISP + Algol)

http://groups.csail.mit.edu/mac/projects/scheme/

http://community.schemewiki.org/

http://web.mit.edu/~axch/www/scheme/choices/mit-scheme.html

Scheme implementations

mit-scheme - very basic

http://web.mit.edu/~axch/www/scheme/choices/mit-scheme.html

mit-scheme files

The standard file extensions are .scm or .ss

but .clj (Clojure) is similar and has better Visual Code support (e.g. formatting).

mit-scheme and Visual Code Extensions

This repo has a workspace setup with some recommended extensions, that help with formatting Scheme files.

Racket - a more fully developed language?

racket is possibly a more complete implementation of Scheme, with graphics support, and its own IDE (DrRacket)

"instead of a “minimalist” language—which is the way that Scheme is often described — Racket offers a rich language with an extensive set of libraries and tools"

https://racket-lang.org/

https://docs.racket-lang.org/

https://docs.racket-lang.org/quick/index.html

Racket and SICP

https://docs.racket-lang.org/sicp-manual/

Others

further reading (beyond SICP)

Racket

Scala

Scala and SICP

  • Quickly learning the basics of Scala through Structure and Interpretation of Computer Programs…

book: Functional programming in Scala

authors

Notes are by Sean Ryan - mr.sean.ryan(at gmail.com) - any errors are entirely mine!

collaborating

  • make yourself a new folder under src/exercises
  • add your files there
  • push direct to master (unless you want a code review)

licence = MIT

This repo is licensed under the MIT License - see the LICENSE file for details