์ด ๋ ธํธ์ ๋ํ์ฌ
SICP๋ ํ๋ก๊ทธ๋๋ฐ ๋ฌธ๋ฒ๋ณด๋ค ๊ณ์ฐ์ ๊ตฌ์กฐ์ ์ถ์ํ์ ํ์ ๊ฐ๋ฅด์น๋ ๊ณ ์ ์ผ๋ก ๋์ธ๋ค. ์ด ๋ ธํธ๋ ์ฑ , ์์ ๊ฐ์, Racket ๊ธฐ๋ฐ ์ค์ต, ๊ด๋ จ ๋ ธํธ๋ฅผ ์ฐ๊ฒฐํ๋ฉฐ ๋ง๋ฒ์ฌ์ฑ ์ ๊ณต๋ถํ๋ ์ง์ ์ ์ ๋ง๋ ๋ค.
ํ์คํ ๋ฆฌ
- SICP ๋ฉํ
๊ด๋ จ๋ฉํ
BIBLIOGRAPHY
โ#Racket #Sicp Structure and Interpretation of Computer Programs 1986 Video Notes.โ n.d. Accessed November 12, 2024. https://nebhrajani-a.org/sicp/video_notes/#orga5f90cf.
๊ด๋ จ๋ ธํธ
KEYWORDS
- bib/ @์ด๊ด๊ทผ #๊ธฐ๊ณํ์ต #์ปดํจํฐ๊ณผํ #SICP #๋๊ด์ #๊ธ์ฐ๊ธฐ #์ ๋ฌธ์ฉ์ด โ2024-10-28 #2025-04-29
- bib/ @์ ๋ด๋์ ์ด์์ค๋จผ: #SICP #SICM #FDG #SDF #์ค์น #๊ณ ์ ์ญํ โ2024-10-30 #2024-10-30
- bib/ @๋ธ๋ผ์ด์ธํ๋น: ์คํฌ๋์น ์ค๋ ๋ก๊ณ ํ๋ก๊ทธ๋๋ฐ โ2024-12-13 #2025-03-16
- bib/ #์๋ฐ์คํฌ๋ฆฝํธ: ๋ง๋ฒ์ฌ์ฑ SICPJS โ2025-01-18 #2025-02-14
- bib/ @johndenero ํ์ด์ฌ SICP ๊ณผ์ โ2025-02-21 #2025-02-21
- bib/ #๋ฆฌ์คํ #IT์ญ์ฌ #ํ๊ตญ์ธ #๊ฐ๋ฐ์ โ2025-04-15 #2025-04-15
- botlog/ aprj ์์นด์ด๋ธ ํตํฉ์ ๋ฆฌ: ์ ํ์ ์ฝ์ง ์ฐ๋๊ธฐ 2008-2026 โ2026-03-02 #2026-03-02
- notes/ @junghan0611 ยงsicp-info - texi-info ํ์ผ ๋ณํ โ2024-11-13 #2025-04-22
#๋ํท #ํด๋ก์ sicp-notes
์๋นํ ์ ์ ๋ฆฌ๊ฐ ๋์ด์๋ ๋ ธํธ๋ค. ๋ํท์ผ๋ก ๋์ด ์๊ณ ํด๋ก์ ๋ก ํ์ฉํ๋ฉด ๋๋ค.
- ํด๋ก์ ์ปดํจํฐ ๋์ํ ์์คํ ํ์ ์ ์ํ ์ผ์ด๋ค.
์ ์๋ง, ๋ฐฐ์์ ์ผ๋จ ๊ธฐํธ๋ฅผ ์ ๋ ฅ ํ ์ ์์ด์ผ ๋๋ค. ์ฉ์ด๋ฅผ ๋ค๋ฃฐ ์ ์์ด์ผ ๊ณตํต์ ์ง์์ ์ฑ์๋๊ฐ ์ ์๋ ๊ฒ์ด๋ค.
sicp์์ ๊ธฐ๋ณธ์ ๋ค๋ฃฌ๋ค. ์ด์ฐ๋ณด๋ฉด ๋ค๋ฅธ ๋ ํผ๋ฐ์ค ์์ด ์๊ฒฐ๋ ์ง์ ์ธํธ๋ผ๊ณ ๋ณผ ์ ์๋ค. ์ฌ๊ธฐ์ ํด๋ก์ ๋? ํด๋ก์ ๋ ๋ชจ๋ฅด๊ฒ ๋ค. ์ค์ฉ์ ์ด๋ค. ์ด๊ฒ ์ด์ฐ๋ณด๋ฉด ํฐ ๊ทธ๋ฆผ์ด๊ธฐ๋ ํ๋ค. ๋๋ผ์ด ์ผ์ด๋ค. ๋๋ผ์ด ์ผ์ด๊ธฐ์ ๊ฐ์ฌํ๋ค.
ํด๋ก์ ์ฝ๋๋ก ์์ ํ ํ์ผ๋ค์ด ์๋ค. ๋ฌ์์ ๋ฑ๋ฑ ๋ญ ์ ๊ฒฝ์ธ๊ฑฐ ์๋ค. ์. ๋ ธํธ๋ ํ๋ ์๋๋ฐ ๊ทธ๊ฒ ์๊ธฐ์๊ฒฐ์ฑ์ด ์๋ค.
โ#racket #sicp Structure and Interpretation of Computer Programs 1986 Video Notesโ
(โ#Racket #Sicp Structure and Interpretation of Computer Programs 1986 Video Notesโ n.d.)
์ฌ๊ธฐ ๋ง์ด๋ค.
์ด๊ฑด ์์20๊ฐ์ ์์ฝํ ๊ฒ. ์ฑ ๋ณด๋ค. ํจ์ฌ ์งง๋ค. ์. ๊ทธ๋ฆฌ๊ณ ๋ํท์์ sicp ์๋ธ์ ์ ์ผ๋ถ๋ก ๋ด๋์ ๊ฒ์ธ๋ฐ. ์ ๋งค๋ ฅ์๋ ๊ฒ. ํ๋ฒ ๋ณด์. ์ด ์น๊ตฌ ๋น๋์ค๋ ธํธํ์ผ์ ์๊ธฐ์๊ฒฐ์ฑ์ด ์๋ค. ํ๋ฅญํ ๋ ํฌํธ ์์์ด๋ค. racket์ ๋ค์ ํ์ฑํ ํ์.
raco pkg install --auto --update-deps sicp$ raco pkg install --auto --update-deps sicp
Resolving "sicp" via https://download.racket-lang.org/releases/8.10/catalog/
Resolving "sicp" via https://pkgs.racket-lang.org
Downloading repository https://github.com/sicp-lang/sicp.git commit 5ba7b852855cf107892244b37d6a1ffbef14d595
raco setup: version: 8.10
raco setup: platform: x86_64-linux [cs]
raco setup: target machine: ta6le
raco setup: installation name: 8.10์ค์น๋ ๋ ์ด๋งฅ์ค ๋ชจ๋ ์ฌ์ฉ /home/junghan/sync/man/dotsamples/vanilla/hamacs-evil/ha-programming-scheme.org
Try It Out
Working for values?
(* 6 7)42Working for output?
(define str-1 "hello")
(define str-2 "world")
(define all (string-join (list str-1 str-2) ", "))
(display (string-titlecase all))Hello, World,#+results:
Hello, WorldThe interface is horrendously slow, as the :session doesnโt seem to work, and starting up a Racket REPL takes a long time.
SICP and Racket
If using Racket for SICP, install the SICP language:
raco pkg install --auto --update-deps sicpWe now can give it a #lang sicp (or better yet, use the :lang header) to define certain SICP-specify features:
์ด์ #lang sicp=(๋๋ =:lang ํค๋๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ ์ข์ต๋๋ค)๋ฅผ ์ง์ ํ์ฌ ํน์ SICP ์ง์ ๊ธฐ๋ฅ์ ์ ์ํ ์ ์์ต๋๋ค:
Letโs try this now:
(inc 42)43,#+results:
43SICP ์ปดํจํฐ ํ๋ก๊ทธ๋จ์ ๊ตฌ์กฐ์ ํด์
(ํด๋ด๋ ์์ด๋ธ์จ, ์ ๋ด๋ ์ ์ด ์์ค๋จผ, and ์ค๋ฆฌ ์์ค๋จผ 2016)
- ํด๋ด๋ ์์ด๋ธ์จ and ์ ๋ด๋ ์ ์ด ์์ค๋จผ and ์ค๋ฆฌ ์์ค๋จผ ์ด๊ด๊ทผ
- ๋ง๋ฒ์ฌ ์ฑ (Wizard Book)์ด๋ผ๋ ๋ณ๋ช ์ผ๋ก๋ ์ ๋ช ํ ์ด ์ฑ ์ ๋ ํนํ๊ธฐ๋ก ์๋ฌธ๋, MIT ์ปดํจํฐ ๊ณผํ ์ ๋ฌธ ๊ต๊ณผ ๊ณผ์ ์์ ์ฐ๋ ๊ต๊ณผ์๋ก, ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ๋ฌธ๋ฒ์ด ์๋ ํ๋ก๊ทธ๋จ์ ๋ผ๋๋ฅผ ๊ตฌ์ฑํ๋ ๊ธฐ์ ์ ์ตํ๊ฒ ํด์ค๋ค. ํํ ํ๋ก๊ทธ๋๋ฐ ์ ๋ฌธ์์ ๋ฌ๋ฆฌ, ๋ํดํ๋ค๋ ํ์ ๋ฃ๋ LISP์์ ๊ฐ๋ผ์ ธ ๋์จ Scheme์ ํ์ฉํ๋ฉฐ, ์์ฝ(abstraction)๊ณผ ์กฐ๋ฆฝ์ ์ค๊ณ(modularity)์ ๋ฐ๋ผ ๋ณต์กํ ํ๋ก๊ทธ๋จ์ ๊ฐ๋จํ๊ฒ ์ง๋ ์ ๋ต์ ๋ณด์ฌ์ค๋ค. ๊ทธ๋ฟ ์๋๋ผ, ์ํ(state)๊ฐ ์๋ ๋ฌผ์ฒด, ๋ฎ์ด์ฐ๊ธฐ(assignment), ๋ณํ ํ๋ก๊ทธ๋๋ฐ, ํจ์ ํ๋ก๊ทธ๋๋ฐ, ์ ๋ ๊ณ์ฐ๋ฒ(lazy evaluation), ๋น๊ฒฐ์ ์ ํ๋ก๊ทธ๋๋ฐ(non-deterministic programming) ๋ฑ ๋ค์ํ ํ๋ก๊ทธ๋๋ฐ ์ด์๋ฅผ ์ดํด๋ณด๋ฉฐ ํ ๊ฑธ์์ฉ ํ๋ก๊ทธ๋จ์ ์ค๊ณํ๊ณ ์ง ๋ง์ถ๊ณ ์ดํด๋ณด๊ณ ๊ณ ์ณ ์ฐ๋ฉด์, โ๊ณผ์ฐ ํ๋ก๊ทธ๋๋ฐ์ด๋ ๋ฌด์์ธ๊ฐโ ๋์ด์ผ ๋ณด๊ฒ ํ๊ณ , ์๊ฐํ๋ ๋ฐฉ์๊ณผ ๊ทธ ์๊ฐ์ ํํํ๋ ๋ฐฉ์์ ๊ฐ๋ฅด์ณ ์ค๋ค.
Video Lectures (1986)
https://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-lectures/
์ด 20 ๊ฐ์ด๋ค. ์์ฒญ๋ ๋ด์ฉ.
- nebhrajani-a/sicp: Racket implementation and notes for SICPโs video lectures.
https://github.com/nebhrajani-a/sicp
ARCHIVE
Lecture Notes
SICP Clojure
SICP Clojure and Racket with Courses
์ด๊ด๊ทผ ๋ฅ๊ด ๋ฒ์ญ ๋น๊ต
์ด๊ด๊ทผ ๊ต์ ๋ฒ์ญ ๋ฌธ์
์๋ ๋ฌธ์์ ๊ธฐ๋ก์ ํ๋ค. ๋กฌ์๋ ๋ด ์๊ฐ์ ๋จํธ๋ค์ด๋๊น ๋ฒ์ญ ํ ๋ฑ์ ๋ฃ์ง ๋ง์.
1 ์ฅ์ ์์๋ก ์ ํํ ํ์ ํ๋ค๋ฉด ํ๋ณตํ ์ผ. ์ด๊ต์ ๋ฒ์ ์ ๋ณด๊ณ ์ข๋ค๋ฉด ํ๋ฅญํ ์ผ. ๋ฅ๊ด ๋ฒ์ ์๋ฐ์คํฌ๋ฆฝํธ๋ผ๋ ํ์์ ๋์ด์ ๋ณธ๋ค๋ฉด ์ด ๋ํ ๋ฉ์ง ์ผ. 1 ์ฅ ์ ๋ชฉ์ด ํจ์๋ฅผ ์ด์ฉํ ์ถ์ํ์ด๋ค. โํจ์โ โํ๋ก์์ โ ๋ญ๋ ๊ฐ์ ์ถ์ํ๋ฅผ ๋ฐฐ์ฐ๋ ์ผ์ด๋ค. 2 ์ฅ์์ ๋ฐ์ดํฐ๋ฅผ ์ด์ฉํ ๊ฒ๋ ์๋ค. /home/junghan/sync/org/git/sicp-org/sicp-ch1.org:1
1 Introduction ๋ฒ์ญ ๋น๊ต
The acts of the mind, wherein it exerts its power over simple ideas, are chiefly these three: 1. Combining several simple ideas into one compound one, and thus all complex ideas are made. 2. The second is bringing two ideas, whether simple or complex, together, and setting them by one another so as to take a view of them at once, without uniting them into one, by which it gets all its ideas of relations. 3. The third is separating them from all other ideas that accompany them in their real existence: this is called abstraction, and thus all its general ideas are made.
โJohn Locke, An Essay Concerning Human Understanding (1690)
-
์ด๊ต์ ๋ฒ์ญ ๋จธ๋ฆฌ์์์ ์ผ์ด๋๋ ์ผ, ๊ณง ๋จ์ํ ์์ด๋์ด๋ค์ ๊ฐ์ง๊ณ ์ธ๋ชจ ์๋ ์์ด๋์ด๋ฅผ ๋ง๋ค์ด ๋ด๋ ์ผ์ ์ฃผ๋ก ๋ค์ ์ธ ๊ฐ์ง๋ก ๋๋๋ค. 1 ์ฒซ์งธ๋ ์ฌ๋ฌ ๋จ์ํ ์์ด๋์ด๋ฅผ ํ ์์ด๋์ด๋ก ๋ฌถ์ด๋ด๋ ๊ฒ์ธ๋ฐ, ๋ชจ๋ ๋ณต์กํ ์๊ฐ์ด ์ด๋ ๊ฒ ๋์จ๋ค. 2 ๋์งธ๋ ๋จ์ํ ์์ด๋์ด์ ๋ณต์กํ ์์ด๋์ด๋ฅผ ํจ๊ป ๊บผ๋ด ๋๋ ํ๋๋ก ๋ฌถ์ง ์๊ณ ์ฃฝ ํ์ด๋ณด๋๋ก ํผ์ณ ๋๋ ๊ฒ์ธ๋ฐ, ์ด๋ ๊ฒ ํ์ฌ ๊ด๊ณ์ ๋ํ ๋ชจ๋ ์์ด๋์ด๋ฅผ ์ด๋์ด ๋ธ๋ค. 3 ์ ์งธ๋ ์ค์ ์์ ๋ณต์กํ๊ฒ ์ฝํ ์๋ ๋ค๋ฅธ ๊ฒ๋ค์์ ์์ด๋์ด๋ฅผ ๋ถ๋ฆฌํ๋ ๊ฒ์ธ๋ฐ, ์ด๋ฅผ ์์ฝ(๊ฐ์ถ๋ฆฌ๊ธฐ, ์ถ์ํ)์ด๋ผ๊ณ ํ๋ค. ๋ชจ๋ ์ผ๋ฐ์ ์ธ ์์ด๋์ด๋ค์ด ์ด๋ ๊ฒ ๋ง๋ค์ด ์ง๋ค.
-
๋ฅ๊ด ๋ฒ์ญ ๋จ์ ๊ด๋ (simple idea)์ ๊ทธ ํ์ ํ์ฌํ๋ ์ง์ฑ์ ํ์๋ ์ฃผ๋ก ๋ค์ ์ธ ๊ฐ์ง๋ค. 1 ๋ค์์ ๋จ์ ๊ด๋ ์ ํ๋์ ๋ณตํฉ(compound) ๊ด๋ ์ผ๋ก ์กฐํฉํ๋ค. ๋ณต์กํ(complex) ๊ด๋ ๋ค์ ๋ชจ๋ ์ด๋ฐ ์์ผ๋ก ๋ง๋ค์ด์ง๋ค. 2. ๋์งธ๋ ๋ ๊ด๋ (๋จ์ ๊ด๋ ์ด๋ ๋ณตํฉ ๊ด๋ ์ด๋ )์ ๊ฐ์ ธ์ ๋ ๋ค๋ฅธ ๊ด๋ ์ผ๋ก ์ค์ ํจ์ผ๋ก์จ ๊ทธ ๋์ ํ๋์ ๊ด๋ ์ผ๋ก ํตํฉํ์ง ์๊ณ ๋ ๋ ๊ด๋ ์ ํ ๋ฒ์ ๋ณผ ์ ์๊ฒ ๋ง๋๋ ๊ฒ์ด๋ค. ๊ด๊ณ์ ๋ํ ๊ด๋ ์ ๋ชจ๋ ์ด๋ฐ ์์ผ๋ก ๋ง๋ค์ด์ง๋ค. 3. ์ ์งธ๋ ํ๋์ ๊ด๋ ์ ๊ทธ ์ค์ ์กด์ฌ์ ์๋ฐํ๋ ๋ค๋ฅธ ๋ชจ๋ ๊ด๋ ์ผ๋ก๋ถํฐ ๋ถ๋ฆฌํ๋ ๊ฒ์ด๋ค. ์ด๋ฅผ ์ถ์ํ๋ผ๊ณ ๋ถ๋ฅด๋ฉฐ, ์ผ๋ฐ์ ์ธ ๊ด๋ ์ ๋ชจ๋ ์ด๋ฐ ์์ผ๋ก ๋ง๋ค์ด์ง๋ค.
๋ญ๊ฐ ์ข๋ค๊ณ ๋งํ๊ธฐ๊ฐ ์ด๋ ต๋ค. ์ธ์ฉ๋ฌธ์ ๊ฐ์ ธ์จ ๊ฒ ๋ฟ์ด๋๊น. ์กฐ๊ธ ๋ ์งํํด ๋ณด์. ๋ฒ์ญ์ ๋ฒ์ญ๊ฐ์ ๋ชซ์ด๋๊ฒ ๋ถ๋ช ํ ์๊ธฐ ๋ง๋ จ์ด๋ค.
Computational process
We are about to study the idea of a computational process. Computational processes are abstract beings that inhabit computers. As they evolve, processes manipulate other abstract things called data. The evolution of a process is directed by a pattern of rules called a program. People create programs to direct processes. In effect, we conjure the spirits of the computer with our spells.
์ด์ ๋ถํฐ ์ฐ๋ฆฌ๊ฐ ๊ณต๋ถํ ๊ฒ์ ๊ณ์ฐ์ ๊ณผ์ ์ด๋ผ๋ ์์ด๋์ด๋ค. ์ด ๊ณผ์ ์ ์ปดํจํฐ ์์ ์ฌ๋ ์ถ์์ ์ธ ์กด์ฌ์ด๋ค. ๊ณผ์ ์ ์ ์ฐจ ์ ๊ฐ๋๋ฉด์ ๋ฐ์ดํฐ๋ผ๊ณ ๋ถ๋ฅด๋ ๋ ๋ค๋ฅธ ์กด์ฌ๋ฅผ ์กฐ์ํ๊ฒ ๋๋ค. ํ๋์ ๊ณผ์ ์ ์ผ์ ํ ๊ท์น๋ค์ ํจํด์ผ๋ก ์ ๊ฐ๋๋๋ฐ, ๊ทธ๋ฌํ ํจํด์ด ๋ฐ๋ก ํ๋ก๊ทธ๋จ์ด๋ค. ์ธ๊ฐ์ ํ๋ก๊ทธ๋จ์ ์์ฑํจ์ผ๋ก์จ ๊ณผ์ ์ ์ ๊ฐ๋ฅผ ์ด๋๋ค. ๋ณธ์ง์ ์ผ๋ก, ํ๋ก๊ทธ๋๋จธ๋ ์์ ์ ์ฃผ๋ฌธ(spell)๋ค๋ก ์ปดํจํฐ์ ์ํผ์ ๋ถ๋ฌ๋ธ๋ค.
์๋ผ ๋ฒ์ญ ๊ฒฐ๊ณผ
https://solar-translate.streamlit.app/
๋ง์์ด ๋จ์ํ ๊ด๋ ๋ค์ ๋ํด ๊ทธ ํ์ ๋ฐํํ๋ ํ์๋ค์ ์ฃผ๋ก ๋ค์ ์ธ ๊ฐ์ง์ด๋ค. 1. ์ฌ๋ฌ ๊ฐ์ ๋จ์ํ ๊ด๋ ๋ค์ ํ๋์ ๋ณตํฉ์ ์ธ ๊ด๋ ์ผ๋ก ๊ฒฐํฉํ๋ ๊ฒ, ๊ทธ๋ฆฌ๊ณ ์ด๋ก์จ ๋ชจ๋ ๋ณตํฉ์ ์ธ ๊ด๋ ๋ค์ด ๋ง๋ค์ด์ง๋ค. 2. ๋ ๋ฒ์งธ๋ ๋จ์ํ ๊ด๋ ์ด๋ ๋ณตํฉ์ ์ธ ๊ด๋ ์ด๋ ๋ ๊ด๋ ์ ํจ๊ป ๊ฐ์ ธ์์, ๊ทธ๊ฒ๋ค์ ํ๋๋ก ๊ฒฐํฉํ์ง ์๊ณ ๋๋ํ ์ธ์ ํ๊บผ๋ฒ์ ์กฐ๋งํ๋ ๊ฒ, ์ด๋ก์จ ๋ชจ๋ ๊ด๊ณ์ ๊ด๋ ๋ค์ ์ป๋๋ค. 3. ์ธ ๋ฒ์งธ๋ ๊ทธ๊ฒ๋ค์ด ์ค์ ์กด์ฌ์์ ์๋ฐํ๋ ๋ค๋ฅธ ๋ชจ๋ ๊ด๋ ๋ค๋ก๋ถํฐ ๋ถ๋ฆฌํ๋ ๊ฒ: ์ด๊ฒ์ ์ถ์์ด๋ผ๊ณ ๋ถ๋ฅด๋ฉฐ, ์ด๋ก์จ ๋ชจ๋ ์ผ๋ฐ ๊ด๋ ๋ค์ด ๋ง๋ค์ด์ง๋ค.
โ์กด ๋กํฌ, ์ธ๊ฐ ์ค์ฑ๋ก (1690)
Comments