sicp ch2 2 - andstudy/forge GitHub Wiki

SICP/2.2 ๊ณ„์ธต๊ตฌ์กฐ๋ฐ์ดํ„ฐ์™€ ๋‹ซํž˜์„ฑ์งˆ

  • ๊ณ„์ธต๊ตฌ์กฐ ๋ฐ์ดํ„ฐ

  • Closure property ๋‹ซํž˜์„ฑ์งˆ

    • pair ๊ฐ€ ๋‹ค์‹œ pair ์˜ ์›์†Œ๊ฐ€ ๋ ์ˆ˜์žˆ๋‹ค๋Š”๊ฒƒ.
  • pair

    • ๋ฐ•์Šค์™€ ํ™”์‚ดํ‘œ

      (cons 1 2)
      

  • car -> 1 ์นด

  • cdr -> 2 ์นด๋”

  • ! ๋ฑ…

  • ๋ฆฌ์ŠคํŠธ - list

      (cons 1
            (cons 2
                  (cons 3
                        (cons 4 nil))))
      
      (list 1 2 3 4)
    
  • Erlang ๋ฆฌ์ŠคํŠธ.

    • [1,2,3,4]=[H|T].
    • H=[1] , T=[2,3,4]
  • ๋ฆฌ์ŠคํŠธ๋งคํ•‘ - map

    • ์›์†Œ ํ•˜๋‚˜์”ฉ ๋Œ์•„๊ฐ€๋ฉด์„œ fun ์ฒ˜๋ฆฌ

      (define (add x) (+ 1 x))
      (map add (list 1 2 3 4))
      
  • ๊ณ„์ธต๊ตฌ์กฐ - tree

      (cons (list 1 2) (list 3 4))
    

  • ํŠธ๋ฆฌ๋งคํ•‘ - map

  • ๊ณตํ†ต์ธํ„ฐํŽ˜์ด์Šค , ๋ชจ๋“ˆ๋ฐฉ์‹ - modular

    • ๋…๋ฆฝ๋œ ๋ถ€ํ’ˆ ์งœ๋งž์ถ”๊ธฐ

  • ๊ฒน์นœ๋งคํ•‘ -
  • ๊ทธ๋ฆผ์–ธ์–ด
    • ๋ฐ์ดํ„ฐ๋ชจ์Œ์„ list ๋Œ€์‹  procedure ์ด์šฉ.
    • ๋ฐ์ดํ„ฐ๊ฐ€ painter ๋ผ๋Š” procedure ๊ฐ€ ์‚ฌ์šฉ๋จ์œผ๋กœ ๊ทธ๋ฆฌ๊ธฐ๊ธฐ๋Šฅ์ด ํ•œ๊ฒฐ๊ฐ™์Œ
    • painter ๊ฐ€ ๋‹ซํž˜์„ฑ์งˆ์„ ๊ฐ€์ง์œผ๋กœ ์ธํ•ด ๋ณต์žกํ•œ ๊ทธ๋ฆผ์„ ์‰ฝ๊ฒŒ ์„ค๊ณ„
    • ๋‹ค์ธต์„ค๊ณ„๋ฐฉ์‹ ๊ฐ€๋Šฅ.