Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

들어가며

연습문제가 엄청 많다. 문제 해결 (Problem solving) 트래이닝 북이라고 생각하면 편하다.

  • 언어의 문제
    • 번역서의 문제
    • 결국 영어를 알아야한다.
  • car/cdr/cadr문제
    • first/rest/second ...로 치환하는게 맞다고 생각한다
  • 다른 언어를 쓰다 이 책을 보면 느끼는 위화감
    • function / procedure / application
      • 책에서 function / procedure / application 이라 나오면 그냥 함수라 생각하면 된다.
  • 책에 연습문제는 해답이 없다.
    • 극혐하는 답없는 교재이다.
    • 어차피 solution은 나오기 마련이다.
    • 답이 있다 하더라도 프로그래밍은 결국 사람 취향에 따라 다르게 나올 수 있다.
  • 연습문제에서 이전에 나왔던 것을 물어보는 경우가 있는데, 책 특성상 링크가 안된다.
    • 가뜩이나 저자가 생소한 개념 / 단어들을 들고오는데 기억이랑 단어랑 매칭이 잘 안되는 경우가 많음.
    • 그래서 어디였지 1장? 3장이라고 하는데 그게 몇페이지지? 하면서 찾아야함.
    • a연습문제를 건너 뛰었는데 a연습문제랑 연관된 b연습문제가 나타남.
  • 리펙토링
    • 4장부터 함수 이름이나 인자 순서같은걸 내가 이해하는 방식으로 코드를 변경한다면
      • ide도 별로고 새로 추가되는 코드를 따라갈 수 가 없다.

문제해결능력 리펙토링 무엇을 모르는지

끝까지 보는것이 최우선 알고리즘 문제는 두번째

단순 설명이 아니라 무엇이 가능한지 가능성을 보여줌. 1장

  • 일급함수(First-class Function)
  • 고차 함수(Higher-order function)
  • Tail Recursion
  • 평가전략
    • Call-by-Value(Applicative-Order Evaluation)
    • Call-by-Name(Normal-Order Evaluation)
    • Call-by-Need(Lazy Evaluation) 2장 3장
  • Lazy Sequence(책에선 Stream) 4장
  • Lisp 인터프리터 구현 3장
  • Lisp 컴파일러 구현

↦ map to