SICP๋ฅผ ์ ๋๋ก ํ๋ณด๊ธฐ๋ก ํ๋ค.
SCIP๋ฅผ ๋ค ์ฝ์๊ฒ์ ์๋์ง๋ง, ์ฒ์ ๋ถ๋ถ์ ์ฝ๊ณ ๋๋์ ์
์ด ์ฑ ์ ์ด๋ป๊ฒ ์๊ฐํ๋๊ฐ? ์ ํฌ์ปค์ค๋ฅผ ๋ง์ถ ์ฑ ์ด๋ผ๋ ์๊ฐ์ด ๋ ๋ค.
์ฒ์ ์ฑํฐ์์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋ํ ์ค๋ช
์ ํ๋๋ฐ, ์์ฝํ์๋ฉด ์๋์ ๊ฐ๋ค.
๊ฐ๋ ฅํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ผ๋๊ฒ์ ์ปดํจํฐ์๊ฒ ์ง์๋ฅผ ๋ด๋ฆฌ๋ ๋๊ตฌ๋ก์์ ๊ธฐ๋ฅ ๋ฟ๋ง ์๋๋ผ,
์ด๋ค ํ๋ก์ธ์ค๋ฅผ ๋ฌ์ฑํ๊ธฐ ์ํ ์ฌ๋์ ์์ด๋์ด๋ฅผ ์ ๋ฆฌํด ์ฃผ๋ ํ๋ ์์ํฌ์ ๊ธฐ๋ฅ๋ ์ํํ๋ค.
๊ทธ๋ฌ๋ฏ๋ก ์ธ์ด๋ฅผ ๋ฌ์ฌํ ๋๋ ์ด ์ธ์ด๊ฐ ์ด๋ ํ ๋ฐฉ๋ฒ์ ํตํด ๊ฐ๋จํ ์์ด๋์ด๋ฅผ ๋ณต์กํ ์์ด๋์ด๋ก ๊ตฌ์ฑํ๋์ง ํนํ ์ฃผ์ํด์ ๋ด์ผ ํ๋ค.
๋ชจ๋ ๊ฐ๋ ฅํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ ์ธ๊ฐ์ง ๋ฉ์นด๋์ฆ์ ๊ฐ์ง๊ณ ์๋ค.
1. ํ๋ฆฌ๋ฏธํฐ๋ธ ์ต์คํ๋ ์ -> ๊ทธ ์ธ์ด๊ฐ ํํํ๋ ๊ฐ์ฅ ๊ฐ๋จํ ์ํฐํฐ
2. ์กฐํฉ -> ๋จ์ํ ๊ฒ๋ค์ ์ด๋ป๊ฒ ์กฐํฉํด ๋ณต์กํ ์์๋ค์ ๋ง๋๋๊ฐ
3. ์ถ์ํ -> ๋ณต์กํ ์์๋ค์ด ์ด๋ป๊ฒ ์ด๋ฆ์ง์ด์ง๊ณ ๋ค๋ฃจ์ด์ง๋๊ฐ
์ฌ๋์ด ํ๋ก๊ทธ๋๋ฐ์ ํ ๋๋ ์ฃผ๋ก ๋๊ฐ์ง๋ฅผ ๋ค๋ฃจ๊ฒ ๋๋ค.
1. ๋ฐ์ดํฐ -> ์ฐ๋ฆฌ๊ฐ ์กฐ์ํ๊ธฐ ์ํ๋ ๊ฒ๋ค
2. ํ๋ก์์ -> ๋ฐ์ดํฐ๋ฅผ ์ด๋ป๊ฒ ์กฐ์ํ๋์ง ๋ฒ์น๋ค.
์ฆ, ์ฌ๋์ด ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ์ฌ์ฉํ๋๋ฐ ํ์ํ ๊ธฐ๋ฅ์ ์๋์ ๊ฐ๋ค.
1. ํ๋ฆฌ๋ฏธํฐ๋ธ ๋ฐ์ดํฐ๋ฅผ ํํ ๊ฐ๋ฅ ํ ๊ฒ.
2. ํ๋ฆฌ๋ฏธํฐ๋ธ ํ๋ก์์ ๋ฅผ ํํ ๊ฐ๋ฅํ ๊ฒ.
3. ํ๋ฆฌ๋ฏธํฐ๋ธ ๋ฐ์ดํฐ์ ํ๋ก์์ ๋ฅผ ์กฐํฉํ๊ณ ์ถ์ํ ํ ์ ์์๊ฒ.
์ด๋ ๊ฒ SCIP ์ฑ ์์๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ์ดํดํ๊ธฐ ์ํ ๊ธฐ๋ฅ์ ์ ๋ฆฌํ๊ณ , ์ ์ด๊ฒ๋ค์ ์ดํดํด์ผ ํ๋์ง, ์ ์ค์ํ์ง๋ฅผ ๋จผ์ ์ค๋ช ํ๊ณ ์๋ค.
๊ทธ ๋ค ์ฑํฐ์์๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ด ๋๋ ๊ฐ๋ ๋ค์ ์ค๋ช ํ๋ค.
1. expression
2. combination
3. operator
4. arguements
์ด๊ฒ๋ค์ ์ค๋ช ์ด ๋๋ ๋ค, ๊ฐ์ฅ ๊ธฐ์ด๊ฐ ๋๋ ์ถ์ํ์ ๋ฐฉ๋ฒ์ ์ค๋ช ํ๋ค.
Naming.
์์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๊ฐ๋ ๋ค๊ณผ ๊ธฐ๋ณธ์ ์ธ ์ถ์ํ๋ฅผ ์กฐํฉํ๋๊ฒ ๋ง์ผ๋ก๋, ๊ฝค๋ ๋ณต์กํ ์์์ ๊ฐ๋จํ ๋ง๋ค์ด ๋ผ ์ ์๋ค.
์์ ๋๋ ๋ฅผ ๊ตฌํ๋ ์์ ์๋ก ๋ค๋ฉด
3.14 ๋ผ๋ value๋ฅผ pi ๋ก ๋ค์ด๋ฐ ํด์ variable ์ ๋ง๋ค๊ณ ,
๋ง์ฐฌ๊ฐ์ง๋ก radius๋ฅผ ๋ง๋ค๊ณ
๊ทธ๋ฆฌ๊ณ (* 2 pi radius) ๋ผ๋ ์ฝค๋น๋ค์ด์ ์ circumference ๋ก ๋ค์ด๋ฐํด์ ์ถ์ํ ํ๋ค.
์ฌ๊ธฐ๊น์ง ๋์ถฉ ์ฝ์ ๊ฐ์์ผ๋ก๋ย
๊ทธ๋ฅ ๋์ถฉ ์ด๊ฒ ์ ์๊ฐ ์ด๊ฑฐ๊ณ ์ ์๊ฐ ์ ๊ฑฐ๊ณ ํ๊ณ ์ฝ๋๋ค๋ฉด ๊ทธ๋ฅ ํํ ๋์ด๊ฐ ์ ์๋๋ฐย
์ ์ด ์ฑ ์ด ์ด๊ฒ๋ค์ ์ค๋ช ํ๊ณ ์๊ณ , ์ด๋ ํ ์ฌ๊ณ ์ ํ๋ฆ์ ๊ฐ์ง๋์ง ์๊ฐํ๋ฉฐ ์ฝ์ ๋๋ ๊ฝค๋ ์๊ฐ์ด ๊ฑธ๋ฆฐ๋ค๋๊ฑฐ.ย
์ฐธ๊ณ ๋ก ํ์ฌ ์ฐ๊ณ ์๋ ์ธ์ด๋ Lisp Scheme ์ด๊ณ
๋ค์ด๋ก๋๋ ์ฌ๊ธฐ
https://download.racket-lang.org/
SCIP์ฉ์ผ๋ก ๋ณ๊ฒฝํ๋ ๋ฐฉ๋ฒ์ ์ฌ๊ธฐ์ ์๋ค.
https://docs.racket-lang.org/sicp-manual/index.html
์ถ์ต์ด๋ค 3์ฅ์์ ๋๋ ค์ณค๋๋ฐ
๊ฐ์ฌํฉ๋๋ค ๋ค์ ํธ๋ ๊ธฐ๋๋ฉ๋๋ค.