SICP : Let's Read! Anonymous https://bbs.gikopoi.com/atom/thread/1788895112 2026-09-09T20:55:03+00:00 SICP : Let's Read! https://bbs.gikopoi.com/post/1788895112/1 2026-09-08T19:18:32+00:00 2026-09-08T19:18:32+00:00 > SICP Book: <br>https://mitp-content-server.mit.edu/books/content/sectbyfn/books_pres_0/6515/sicp.zip/full-text/book/book-Z-H-4.html<br><br>> SICP Lectures:<br>https://www.youtube.com/playlist?list=PLE18841CABEA24090<br>> Racket Scheme<br>https://racket-lang.org/download/<br>> SICP Racket<br>https://docs.racket-lang.org/sicp-manual/Installation.html<br><br>Let's embrace the tree structure of Pohon BBS. <br><br>Top level comments for chapters of the book, <br>replies to top level comments for discussions of the chapter.<br><br>Comment #2 will be for general help installing Scheme<br>Comment #3 will be for random Scheme discussion that doesn't <br>fit into chapter discussion. <br><br>Ready, start, go! Reply to thread https://bbs.gikopoi.com/post/1788895112/2 2026-09-08T19:19:01+00:00 2026-09-08T19:19:01+00:00 General Scheme troubleshooting / installation help / etc goes under this<br>comment.... Reply to thread https://bbs.gikopoi.com/post/1788895112/3 2026-09-08T19:20:17+00:00 2026-09-08T19:20:17+00:00 Random Scheme / Lisp / programming discussion that doesn't fit into<br>chapter discussion goes here.... Chapter 1 https://bbs.gikopoi.com/post/1788895112/4 2026-09-08T19:21:18+00:00 2026-09-08T19:21:18+00:00 SICP chapter 1 <br>> Building Abstractions with Procedures<br><br>https://mitp-content-server.mit.edu/books/content/sectbyfn/books_pres_0/6515/sicp.zip/full-text/book/book-Z-H-9.html#%_chap_1 phatcat power level formula (first scheme test) https://bbs.gikopoi.com/post/1788895112/5 2026-09-08T19:24:34+00:00 2026-09-08T19:24:34+00:00 (define phatcat_powerlevel 1200)<br>(define unlocked_potential 500)<br>(define (phatcat_bulky_transformation x y) (* 1.2 (+ x y)))<br>(phatcat_bulky_transformation phatcat_powerlevel unlocked_potential)<br> Chapter 2 https://bbs.gikopoi.com/post/1788895112/6 2026-09-08T19:27:34+00:00 2026-09-08T19:27:34+00:00 > Building Abstractions with Data<br>https://mitp-content-server.mit.edu/books/content/sectbyfn/books_pres_0/6515/sicp.zip/full-text/book/book-Z-H-13.html#%_chap_2 Chapter 3 https://bbs.gikopoi.com/post/1788895112/7 2026-09-08T19:28:36+00:00 2026-09-08T19:28:36+00:00 > Modularity, Objects, and State<br><br>https://mitp-content-server.mit.edu/books/content/sectbyfn/books_pres_0/6515/sicp.zip/full-text/book/book-Z-H-19.html#%_chap_3 Chapter 4 https://bbs.gikopoi.com/post/1788895112/8 2026-09-08T19:29:38+00:00 2026-09-08T19:29:38+00:00 > Metalinguistic Abstraction<br>https://mitp-content-server.mit.edu/books/content/sectbyfn/books_pres_0/6515/sicp.zip/full-text/book/book-Z-H-25.html#%_chap_4 Chapter 5 https://bbs.gikopoi.com/post/1788895112/9 2026-09-08T19:30:51+00:00 2026-09-08T19:30:51+00:00 > Computing with Register Machines<br><br>https://mitp-content-server.mit.edu/books/content/sectbyfn/books_pres_0/6515/sicp.zip/full-text/book/book-Z-H-30.html#%_chap_5 outputs color based on stats (hopefully) https://bbs.gikopoi.com/post/1788895112/10 2026-09-08T19:37:11+00:00 2026-09-08T19:37:11+00:00 (define (clouds_color strength intelligence Defense)<br>(define red strength)<br>(define blue intelligence)<br>(define green defence)<br>(list red green blue))) % gives RGB color (idk how to/<br> if its even possible for lisp to output a color) some sample lisp code https://bbs.gikopoi.com/post/1788895112/11 2026-09-08T19:51:10+00:00 2026-09-08T19:51:10+00:00 (define pi 3.14159265)<br>(define (square x) (* x x))<br><br>(define (volume-of-cone radius height)<br> (* pi (square radius) (/ height 3)))<br><br>(define my-cone-volume (volume-of-cone 1 2))<br><br>my-cone-volume<br>=> 2.09 Reply to thread https://bbs.gikopoi.com/post/1788895112/12 2026-09-08T20:11:17+00:00 2026-09-08T20:11:17+00:00 Famous article by a guy who used Lisp to become a billionaire :<br><br>> Graham, Paul. "The Roots of Lisp." (2001) 15pp <br>https://wiki.eecs.yorku.ca/course_archive/2014-15/W/6339/_media/jmc.pdf<br><br>discusses how 7 primitives became the meta language exercise 1.3 https://bbs.gikopoi.com/post/1788895112/13 2026-09-08T21:50:10+00:00 2026-09-08T21:50:10+00:00 %% (define (square x) %%<br>%% (* x x)) %%<br>%% (define (sum-squares x y) %%<br>%% (+ (square x) (square y))) %%<br>%% %%<br>%% (define (sum-greater-squares x y z) %%<br>%% (if (> x y) %%<br>%% (if (> y z) %%<br>%% (sum-squares x y) %%<br>%% (sum-squares x z)) %%<br>%% (if (> x z) %%<br>%% (sum-squares y x) %%<br>%% (sum-squares y z)))) %%<br>%% %%<br>%% (sum-greater-squares 1 2 3) %%<br>%% (sum-greater-squares 4 2 3) %%<br>%% (sum-greater-squares 5 1 0) %%<br> Excercise 1.3 https://bbs.gikopoi.com/post/1788895112/14 2026-09-09T01:43:46+00:00 2026-09-09T01:43:46+00:00 My attempt at exercise 1.3. it took me a long time as most of my attempts made code that excluded anything that wasn't the maximum number, so i guess finding the "middle" number is what makes this challenging. my first attempts were checking each variable against the others individually (mistake). if x>y then output x otherwise 0, if x>z output x otherwise 0 then multiply both outputs, repeat for each variable (rather silly in retrospect). After this i decided to only compare to the third variable if the first check failed and directly compute the square if the variable wasn't the minimum. Code below:<br><br>%%#lang sicp%%<br>%%(define (sicp_ex_1.3 x y z)%%<br>%% (+%%<br>%% (if (< x y) (if (< x z) 0 (* x x)) (* x x))%%<br>%% (if (< y x) (if (< y z) 0 (* y y)) (* y y))%%<br>%% (if (< z y) (if (< z x) 0 (* z z)) (* z z))))%%<br>%% %% <br>%%(sicp_ex_1.3 1 2 3)%%<br>%%result was 13 so it worked%% corrected exercise 1.3 https://bbs.gikopoi.com/post/1788895112/15 2026-09-09T15:22:45+00:00 2026-09-09T15:22:45+00:00 %%%<br>Updated to catch PhatCat's fix -- if x, y, and z are the same<br>value, the code does not work<br><br>(define (square x) <br> (* x x)) <br>(define (sum-squares x y) <br> (+ (square x) (square y))) <br> <br>(define (sum-greater-squares x y z) <br> (if (> x y) <br> (if (> y z) <br> (sum-squares x y) <br> (sum-squares x z)) <br> (if (> x z) <br> (sum-squares y x)<br> (if (= x y z)<br> (sum-squares x x)<br> (sum-squares y z)))))<br>%%% fix ex 1.3 https://bbs.gikopoi.com/post/1788895112/16 2026-09-09T15:27:28+00:00 2026-09-09T15:27:28+00:00 summed all 3 squares if x y z were the same. added a check to just force one variable to zero if all the numbers were equal so theres probably a more elegant solution :P. Code:<br><br>%%#lang sicp%%<br><br>%%(define (square x) (* x x))%%<br><br>%%(define (sicp_ex_1.3 x y z)%%<br>%% (+%%<br>%% (if (= x y) 0 (if (= x z) 0%%<br>%% (if (< x y) (if (< x z) 0 (square x)) (square%% %%x))))%%<br>%% (if (< y x) (if (< y z) 0 (square y)) (square y))%%<br>%% (if (< z y) (if (< z x) 0 (square z)) (square z))))%%<br> <br>%%(sicp_ex_1.3 1 2 3)%%<br>%%(sicp_ex_1.3 2 2 2)%%<br>%%(sicp_ex_1.3 2 1 0)%% epic phail https://bbs.gikopoi.com/post/1788895112/17 2026-09-09T15:35:08+00:00 2026-09-09T15:35:08+00:00 Fixed the fix<br><br>%%#lang sicp%%<br><br>%%(define (square x) (* x x))%%<br><br>%%(define (sicp_ex_1.3 x y z)%%<br>%% (+%%<br>%% (if (= x y z) 0%%<br>%% (if (< x y) (if (< x z) 0 (square x)) (square x))))%%<br>%% (if (< y x) (if (< y z) 0 (square y)) (square y))%%<br>%% (if (< z y) (if (< z x) 0 (square z)) (square z)))%%<br> <br>%%(sicp_ex_1.3 1 2 3)%%<br>%%(sicp_ex_1.3 2 2 2)%%<br>%%(sicp_ex_1.3 2 1 0)%% exercise 1.3 https://bbs.gikopoi.com/post/1788895112/18 2026-09-09T20:55:03+00:00 2026-09-09T20:55:03+00:00 %%%<br>[(define (square a)<br> (* a a))<br><br>(define (smallest x y z)<br> (if (< x y)<br> (if (< x z) x z)<br> (if (< y z) y z)))<br><br>(define (procedure x y z)<br> (- (+ (square x)(square y)(square z))(square (smallest x y z))))<br><br>(procedure 7 10 10)]<br>%%%