Trong năm đầu tiên của tôi tại trường đại học, khóa học lập trình đầu tiên tôi tham gia là sử dụng SICP (đó là năm 1988). Tuy nhiên, tôi cũng gặp một vấn đề tương tự như bạn: đối với máy tính của riêng tôi (thực ra là Commodore Amiga), không có triển khai Đề án có sẵn tại thời điểm đó, chỉ có một phương ngữ Lisp khác (tôi không nhớ tên của nó).
Tuy nhiên, do tính linh hoạt của Lisp, việc "mô phỏng" cú pháp Scheme khá đơn giản chỉ bằng cách thêm các macro và hàm thiếu trong các tập lệnh. Điều này thực sự đủ để thực hiện tất cả các bài tập từ chương 1 đến 3 trong suốt khóa học (lưu ý rằng SICP thực sự không yêu cầu ngăn xếp Scheme đầy đủ, một tập hợp con nhỏ là tất cả những gì bạn cần).
Vì Clojure là một phương ngữ Lisp hiện đại, tôi đoán bạn có thể làm điều gì đó tương tự, cho phép bạn lựa chọn hoàn toàn tự do để viết những thứ trong Scheme hoặc Clojure hoặc kết hợp cả hai.
Tất nhiên, việc giải các bài tập trực tiếp trong Clojure cũng sẽ có thể, cả hai ngôn ngữ đều rất giống nhau. Quan trọng hơn, SICP không phải là về cú pháp ngôn ngữ lập trình , nó là về việc sử dụng đúng các khái niệm trừu tượng trong lập trình (ví dụ, với các hàm, dữ liệu và đối tượng). Vì vậy, đừng nghĩ quá nhiều về các vấn đề cú pháp có thể xảy ra, đây không phải là trọng tâm của cuốn sách này và có lẽ là mối quan tâm nhỏ.
recur
chỉ xử lý đệ quy đuôi , không gọi chung) và 2. thiếu trongcall-with-current-continuation
đó là cần thiết cho chương 4.