Last year I read an article on http://jaortega.wordpress.com/2007/01/31/a-scheme-bookshelf/ that claimed that if you read/study SICP "It will expand your mind. It will cure your diseases", I also read Eric Raymond "The Cathedral and the Bazaar" abou the Lips experience.
I tried for a while to use it (I downloaded the SICP pdf and DrSche...
MIT abandoned its legendary 6.001 (Structure and Interpretation of Computer Programs) course and replaced it with 6.00, 6.01 and 6.02 in the new curriculum. They are AFAIK about Python and robots. What is your opinion about the loss of SICP and Scheme in computer science education? Is it a necessary step in the right direction or a bad m...
I'm trying to learn scheme via SICP. Exercise 1.3 reads as follow: Define a procedure that takes three numbers as arguments and returns the sum of the squares of the two larger numbers. Please comment on how I can improve my solution.
(define (big x y)
(if (> x y) x y))
(define (p a b c)
(cond ((> a b) (+ (square a) (square (bi...
I've caught the bug to learn functional programming for real. So my
next self-study project is to work through the Structure and
Interpretation of Computer Programs. Unfortunately, I've never
learned Lisp, as I was not a CS major in college.
While SICP does not emphasize the tools for programming, doing the
exercises entails picking a ...
I have been using PLT Scheme, but it has some issues. Does anyone know of a better implementation for working through SICP?
...
SICP - "Structure and Interpretation of Computer Programs"
Explanation for the same would be nice
Can some one explain about Metalinguistic Abstraction
...
One long term project I have is working through all the exercises of SICP. I noticed something a bit odd with the most recent exercise. I am testing a Huffman encoding tree. When I execute the following code in DrScheme I get the expected result:
(a d a b b c a)
However, if I execute this same code in mzscheme by calling (load "2.67.s...
I'm going through SICP and I'd like to have an interpreter analogous to the interactive Python interpreter to play around in while I'm watching the lectures and reading the book. Furthermore, I'd like this interpreter to run inside Emacs so I can jump back and forth between files of scheme code and the interactive interpreter and so fort...
I want to try out SICP with Python.
Can any one point to materials (video.article...) that teaches Structure and Interpretation of Computer Programs in python.
Currently learning from SICP videos of Abelson, Sussman, and Sussman.
...
Hi,
I am following SICP to learn, and while attempting to solve Ex 1.3 I arrived at the following code as my first attempt:
(define (sumsq a b c)(
(define highest (if (> (if (> a b) a b) (if (> a c) a c)) (if (> a b) a b) (if (> a c) a c)))
(define second_h (if (> (if (> a b) b a) (if (> a c) c a)) (if (> a b) b a) (if (> a c) c a)))
(...
I want to teach myself to program. To give a little background, I have a history degree and my math skills are about the college algebra level (and probably on the lowish end of that). I'm looking for recommendations for books that teach how to think about programming, rather than focusing on a particular language. I've already determin...
I am a Haskell newbie, though had a previous Lisp/Scheme experience. Right now I am looking at the examples from SICP and trying to implement them in Haskell to get more hands-on experience. In the lecture 3b authors present a function for computing the derivatives symbolically. It contains, among others, the following lines:
(define (d...
I am working through SICP using Dr Scheme.
How do I load external libraries in Dr Scheme? Say I want to use Math library then how do I ask Dr Scheme to load the particular library?
I tried with the following:
(require (lib "math.ss"))
Got the following error:
reference to undefined identifier: require
I have chosen R5RS as the langua...
My solution to exercise 1.11 of SICP is:
(define (f n)
(if (< n 3)
n
(+ (f (- n 1)) (* 2 (f (- n 2))) (* 3 (f (- n 3))))
))
As expected, a evaluation such as (f 100) takes a long time. I was wondering if there was a way to improve this code (without foregoing the recursion), and/or take advantage of multi-core box. I am usi...
In SICP, (ex 2.6) the following functions are described as ways of 'getting by without numbers'. I'm scratching trying to understand this. As a starting point, how do these functions get invoked? Can I actually apply them in some way where the output will be 1? (Or any other number?)
(define zero (lambda (f) (lambda (x) x)))
(define ...
Hi there,
I regrettably haven't studied maths since I was 16 (GCSE level), I'm now a 27 year old c# developer.
Would it be a fruitless exercise trying to work through this book?
What kind of maths standard is expected of the reader?
Thanks in advance for any replies!
...
Am going to start EOPL - Essentials of programming languages. Reading SICP has sparked an interest in programming language design. What did it do for you?
...
Hi,
I have been using the Module for SICP in DrScheme 4.2 but which language has the best support for SICP in DrScheme?
Has anyone here tried this?
Thanks.
...
I need some help in understanding the material in SICP's section 4.1.6 on Internal definitions.
I understand the problem raised when mutually recursive functions are defined. But i dont understand how it is solved by transforming the following lambda expression
(lambda <vars >
(define u <e1 >)
(define v <e2 >)
<e3 >)
into:
(...
Also, even if I can use Common Lisp, should I? Is Scheme better?
...