대학에서 첫 해에 제가했던 첫 번째 프로그래밍 과정은 SICP (1988)였습니다. 그러나 나는 당신과 비슷한 문제를 겪었습니다. 내 자신의 컴퓨터 (실제로 Commodore Amiga)의 경우 그 당시에는 Scheme 구현이 없었으며 다른 Lisp 방언 만이었습니다 (이름을 기억하지 못합니다).
그러나 Lisp의 유연성으로 인해 누락 된 lisp 매크로와 함수를 몇 개의 스크립트에 추가하는 것만으로 Scheme 구문을 "에뮬레이션"하는 것이 매우 간단했습니다. 이것은 실제로 과정 중에 필요한 1 장에서 3 장까지의 모든 연습을 구현하기에 충분했습니다 (SICP에는 실제로 전체 구성표 스택이 필요하지 않으며 작은 하위 집합 만 있으면됩니다).
그래서 Clojure는 현대적인 Lisp 방언 AFAIK이기 때문에 비슷한 것을 할 수 있다고 생각합니다. Scheme 또는 Clojure 또는 두 가지를 혼합하여 자유롭게 쓸 수 있습니다.
물론 Clojure에서 직접 연습 문제를 해결할 수도 있습니다. 두 언어가 매우 비슷합니다. 더욱 중요한 SICP는 언어 구문에 대해 프로그래밍 아닌 , 그것이 추상화 적절한 사용에 대한 프로그래밍에 (예를 들면, 기능, 데이터 및 개체). 따라서 가능한 구문 문제를 너무 많이 생각하지 마십시오. 이것들은이 책의 초점이 아니며 아마도 사소한 문제 일 것입니다.
recur
클로저에 1. TCO ( 일반 호출이 아닌 테일 재귀 만 처리 )와 2. 부족이call-with-current-continuation
4 장에 필요 하다는 점이다 .