15P by alstjr7375 21일전 | favorite | 댓글 5개

Racket팀의 좋아요를 말미암아
리스프 계열 언어에서 선진적으로 구현된 부분들을 소개합니다.

  1. Racket의 가장 강력하고 안전한 매크로
    1.1 안전한 매크로
    - C vs Racket: 매크로가 구문이어야 하는 이유
    - Common Lisp vs Racket: 위생적 매크로여야 하는 이유
    1.2 강력한 매크로
    - Syntax 객체를 이용한 Transform 개요
    - Syntax 객체와 리스트 다루기
    - define-syntax로 직접 Transform 해보기
    - 패턴매칭 매크로로 선언적으로 작성하기
    - 매크로 정의시 컴파일타임과 런타임
    - 함수나 변수를 정의하는 매크로
  2. Racket의 Thread와 함께하는 동적바인딩
    2.1 동적 바인딩이란?
    2.2 왜 동적 바인딩인가?
    - 전역변수에서 불필요한 전역 오염을 방지
    - 컨텍스트에서 불필요한 매개변수 제거
    - 의존성 주입에서 불필요한 보일러 플레이트 줄이기
    2.3 Thread 안전한 동적 바인딩
  3. Common Lisp의 동적이고 유연한 객체지향 시스템
    3.1 다양한 객체지향 구현
    3.2 유연한 메서드 시스템
    - 클래스 정의를 수정하지 않는 확장 가능한 메서드
    - 객체 타입에 따른 다중 디스패치
    - 횡단 관심사 제어를 위한 메서드 조합
    3.3 동적인 객체
    3.4 객체지향 시스템을 확장하는 MOP(Meta-Object Protocol)
    - 생성시 상태제어를 해보는 카운터
    - 기존 기능 확장을 해보는 타입 검사기
    - 클래스 정의에 키워드를 추가하여 값 검증해보기
    3.5 다중상속
    - C++의 다중상속 문제
    - CPL(Class Precedence List) 규칙

나중에 공부할때 꼭 읽어봐야겠어요!!

감사합니다!! ㅎㅎㅎ

어떻게 여러 방언 중에서도 racket 의 매력에 빠지게 되셨는지 궁금합니다!

HtDP(How to Design Programs) 라고 SICP의 쉬운 버전으로 공부를 하다가 접하게 되었는데요.
문법이 깔끔하고 잘만들어져 있더라고요.

그래서 관심을 가지고 이것저것 살펴보다보니 설계가 잘 된 부분들이 생각보다 많드란..

감사합니다! 그런 책이 있군요