Skip to content

yth/SICP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SICP

Working through SICP as a means to start programming language studies.

On hiatus and will only be worked on occassionally until January 2019

Additional Resources:

SICP Supplement Site:

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

It has sample projects and teaching recommendations.

Adventures in Advanced Symbolic Programming

https://groups.csail.mit.edu/mac/users/gjs/6.945/

Additional Projects and reading material.

As a prerequisite, it mentions 6.034 (an MIT AI Course). The open courseware version is at:

https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-034-artificial-intelligence-fall-2010/assignments/

I really liked the first lecture. It might be interesting to go through part of this course using Scheme (lisp), which was developed in part for AI research.

Some resources for the AI course:

https://ai6034.mit.edu/wiki/index.php?title=Main_Page

Other people's attempts at similar projects

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

https://eli.thegreenplace.net/tag/sicp

More Books and Resources

Some directly related to SICP and Scheme, and others are for exploring more programming languages, or study programming languages as a subject. It's listed in no particular order.

Essentials of Programming Languages - Daniel P Friedman, Mitchell Wand, Christopher T Haynes

Lisp in Small Pieces - Christian Queinnec, trans. Kathleen Callaway

The Little Schemer - Daniel P Friedman, Matthias Felleisen

The Little Prover - Daniel P Friedman et al.

Concepts, Techniques, and Models of Computer Programming - Peter Van Roy and Seif Haridi (https://www.edx.org/course/paradigms-computer-programming-louvainx-louv1-1x-1) (https://www.edx.org/course/paradigms-computer-programming-louvainx-louv1-2x-1)

Structure and Interpretation of Classical Mechanics https://mitpress.mit.edu/sites/default/files/titles/content/sicm_edition_2/book.html

Smalltalk Best Practice Patterns

Ruby Under a Microscope

http://web-artanis.com/scheme.html

http://createyourproglang.com

http://www.r6rs.org/

https://www.wespiser.com/writings/wyas/home.html

https://en.wikibooks.org/wiki/Write_Yourself_a_Scheme_in_48_Hours

http://dippl.org

http://letoverlambda.com

https://homotopytypetheory.org/

Programming Languages: An Interpreter-Based Approach

Advanced Compiler Design and Implementation

Optimizing Compilers for Modern Architectures: A Dependence-based Approach - Randy Allen, Ken Kennedy

Advanced Compiler Design and Implementation - Steven Muchnick

Engineering a Compiler - Keith Cooper, Linda Torczon

Evan Schaffer and Mike Wolf. The Unix Shell as a Fourth-Generation Language

An Introduction to Functional Programming Through Lambda Calculus - Greg Michaelson

https://www.youtube.com/watch?v=3N__tvmZrzc (Programming Languages)

https://www.coursera.org/learn/programming-languages

http://lambda-the-ultimate.org/

https://en.wikipedia.org/wiki/Backus–Naur_form

https://www.cs.cmu.edu/~crary/819-f09/ (Classical paper repo)

http://www.drdobbs.com/architecture-and-design/so-you-want-to-write-your-own-language/240165488

http://stackoverflow.com/questions/4014267/how-do-i-design-and-implement-a-programming-language

http://programmers.stackexchange.com/questions/84278/how-do-i-create-my-own-programming-language-and-a-compiler-for-it

http://matt.might.net/articles/implementing-a-programming-language/

http://llvm.org/

http://createyourproglang.com

http://hackingoff.com/compilers/regular-expression-to-nfa-dfa

http://online.stanford.edu/course/automata-theory-self-paced

https://web.stanford.edu/class/archive/cs/cs143/cs143.1128/

https://www.infoq.com/interviews/Steele-Interviews-John-McCarthy

http://www.impredicative.com/ur/

http://theorangeduck.com/page/you-could-have-invented-parser-combinators

https://en.wikipedia.org/wiki/Chomsky_hierarchy

https://en.wikipedia.org/wiki/Polish_notation

https://www.youtube.com/watch?v=KTJs-0EInW8&feature=em-subs_digest-wl - GROK

http://blog.sigfpe.com/2006/08/you-could-have-invented-monads-and.html

https://ngnghm.github.io/

Udacity Programming Language Course

https://repl.it

Paul Graham's Books and Blog

Scheme References

https://www.gnu.org/software/mit-scheme/

http://ds26gte.github.io/tyscheme/index.html

https://people.eecs.berkeley.edu/~bh/ss-toc2.html

About

Solution to SICP

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages