2008-11-04 33 views

Trả lời

51

Sử dụng MIT Scheme.

Được khuyến cáo bởi các tác giả của SICP và được sử dụng tại MIT cho 6,001: Cấu trúc và giải thích các chương trình máy tính khóa học.

+3

Nhưng MIT Scheme dường như không có bản xây dựng cho linux x86_64 – f4hy

+12

Điều tôi không thích về MIT Scheme là tôi không thể tìm ra cách đơn giản thực thi một kịch bản lệnh từ dòng lệnh và có nó đầu ra được hiển thị trong bảng điều khiển của tôi - giống như cách tôi mong đợi để chạy một tập lệnh Python hoặc Ruby. Tôi có vô cùng dày đặc không? Làm thế nào để đạt được điều này, mà không tung ra môi trường dựa trên Emacs tương tác lớn và sau đó phải từ bỏ nó một lần nữa? –

+0

có một phiên bản 64 bit được xây dựng trước của chương trình mit ở đây - [http://www-users.cselabs.umn.edu/classes/Fall-2010/csci1901/mit-scheme-x64_9.0.1-1_amd64.deb] – tutysara

11

MIT/GNU Scheme, chỉ cần đảm bảo bạn tải tương thích SICP package (có, chúng cung cấp các thư viện cụ thể để tăng cường đảm bảo các bài tập SICP hoạt động).

1

PLT Scheme hoạt động khá tốt hoặc MIT Scheme như Keparo đề xuất. Bạn đang gặp phải vấn đề gì?

70

Sử dụng Racket (trước đây là PLT Scheme).

IDE DrRacket là điểm khởi đầu tuyệt vời cho tất cả mọi thứ Đề án bao gồm SICP.

Để tra cứu từ khóa trong tài liệu, hãy đặt con trỏ lên từ khóa và nhấn F1. Trong DrRacket, bây giờ bạn có thể xem các hình ảnh trực tiếp trong REPL (vòng lặp đọc-eval-in).

SICP Support for DrRacket, bởi Neil van Dyke.

Cập nhật: Gói SICP mới là http://pkgs.racket-lang.org/#[sicp] Tải xuống bằng Trình quản lý gói (trong DrRacket) hoặc sử dụng raco. Manual

Update2: Ngoài ra nếu bạn muốn thử triển khai mới ngôn ngữ hình ảnh SICP, sau đó tải xuống sicp-pict2.rkt.

+5

Lưu ý : Neil van Dyke đã viết một gói SICP rất tốt cho Racket. Sử dụng cái này thay vì cái cũ của tôi. – soegaard

+0

hmm OP hỏi về PLT Scheme đã trở thành DrScheme và sau đó là DrRacket và cuối cùng là Rocket lang. – FUD

+0

Cảnh báo: không thể cài đặt gói hỗ trợ SICP một cách an toàn. Khi bạn chạy mã đó ('#lang planet neil/sicp'), nó cố gắng tải xuống các công cụ thông qua http đơn giản, vì vậy các cuộc tấn công MitM là có thể. Và khi tải xuống mã sẽ được thực hiện trên máy của bạn, đây là một thỏa thuận lớn._ Trang không có sẵn thông qua https, điều đó cũng có nghĩa là bạn có thể nhận được bất kỳ thứ gì thay vì nội dung. Tôi hy vọng tác giả sẽ sửa nó vào một thời điểm nào đó. –

6

Tôi vừa mới bắt đầu làm SICP tuần này.

Hiện tại, MIT Scheme bị hỏng trong Ubuntu Linux (9.04 "jaunty"). Nó có thể hoạt động trong tương lai.

DrScheme đang hoạt động và hoạt động tốt. Bạn có thể sử dụng gói của soegard được liệt kê ở trên hoặc gói Neil Van Dyke, dựa trên gói của soegard và có sẵn từ http://www.neilvandyke.org/sicp-plt/. Điều tuyệt vời về gói này là khi cài đặt, bạn có thể sử dụng mục trình đơn Ngôn ngữ | Chọn ngôn ngữ .... để chọn SICP.

0

CHICKEN Schemesicp library cung cấp hỗ trợ cho SICP. Bạn có thể cài đặt nó bằng cách chạy chicken-install sicp và viết mã này vào đầu mã nguồn của bạn: (use sicp).

3

Điều này gây ngạc nhiên đáng ngạc nhiên khi thực hiện trên macOS. Đây là cách nó hoạt động như ngày hôm nay, giả sử bạn có Homebrew. (Có thể muốn chạy brew update một lần trong một thời gian).

brew cask install racket 
raco setup # might be optional 
raco pkg install sicp 

Bây giờ bạn có thể (require sicp) hoặc đơn giản là chạy

racket -l sicp --repl 

nào bạn có thể muốn viết tắt để scheme.Trong bash mà muốn được

alias scheme='racket -l sicp --repl' 

mà bạn có thể thêm vào của bạn ~/.bashrc

0

Tôi hiện đang làm việc thông qua SICP sử dụng Chez Scheme. Đó là một phương ngữ khá cũ của Đề án, vì vậy có lẽ nó không quá xa so với những gì SICP được viết xung quanh.

Lưu ý rằng trang dự án Chez Scheme liên kết mã nhị phân và nguồn Windows có thể được xây dựng trên nền tảng giống Unix. Nhưng nếu bạn đang ở trên một máy Mac, có thể bạn sẽ muốn làm

brew chezscheme 
man chez 

Giả sử bạn có homebrew, mà bạn thực sự cần.

Tại sao không phải là Đề án MIT? Bởi vì giao diện người dùng tương tác là Edwin, một trình soạn thảo sử dụng các quy ước EMACS. Tôi sử dụng để biết EMACS cơ bản, nhưng kỹ năng của tôi bị tàn phá do không sử dụng, cho tôi biết rằng việc chuyển đổi trình soạn thảo này chỉ là không đáng để gặp rắc rối.

Tại sao không phải là DrRacket? Nếu tôi đã nhìn thấy hướng dẫn brew của @ frederick-squid, tôi có thể đã thử nó. Thay vào đó, tôi đã cố gắng thực hiện theo các hướng dẫn chính thức cho chương trình và sicp, những điều đã nghiêm túc lỗi thời. Sau đó, tôi đã cố gắng để làm cho IDE đi vào chế độ chương trình, mà có vẻ là trực quan nhưng không phải là.

Chỉ là quá nhiều rắc rối. Và tôi không chắc tôi muốn tham gia vào một IDE thiết kế ngôn ngữ ưa thích, đặc biệt là một người có hỗ trợ kém của Đề án đã làm dấy lên câu hỏi ban đầu.

Các vấn đề liên quan