2009-12-08 43 views
14

Tôi muốn học và sử dụng SBCL vì tính dễ học và tốc độ của nó. (Tôi đã chơi với Lisp 3 năm trước, và bây giờ đang làm mới nó.) Nhưng làm thế nào tôi có thể tìm hiểu những gì có trong thư viện chuẩn, vì vậy mà tôi không tái thực hiện mọi thứ?Tài liệu thư viện chuẩn của SBCL?

Sau Python, điều này giống như cơn ác mộng: trang web SBCL có manual chỉ bao gồm phần mềm, không phải từ trên thư viện chuẩn. (Để so sánh, website Gnu Common Lisp của chỉ nguồn và nhị phân.)

Trả lời

19

Thứ nhất: vấn đề đó là không thực sự SBCL cụ thể. Thư viện CL được chuẩn hóa và do đó bạn có thể sử dụng tài liệu của bất kỳ lisp nào.

Như đã đề cập, CL HyperSpec rất hữu ích. Tuy nhiên nó là một tài liệu tham khảo và do đó không phải là rất thích hợp cho việc học tập theo ý kiến ​​của tôi.

Để tìm hiểu, có nhiều sách khác nhau. Cá nhân tôi thích những rất nhiều:

Bạn cũng nên nhìn vào mã hiện. Tôi đặc biệt thích đọc bất kỳ thư viện nào của Edi Weitz nhưng phát tán và đọc từ nhiều nguồn khác nhau để xem cách người khác sử dụng Lisp và thư viện khổng lồ của nó để giải quyết vấn đề.

Nếu bạn có thể dành nhiều thời gian đó, bạn thậm chí có thể đăng nhập vào IRC (kênh #lisp) và đặt câu hỏi tại đó. Hoặc mã bưu điện bạn đã viết tới comp.lang.lisp và yêu cầu phê bình để tìm hiểu thông qua phản hồi trực tiếp.

+0

Cám ơn một bài lớn. Tôi đã học Lisp một thời gian trong năm 2006-2007, nhưng những gì ngăn cản tôi sau đó là thiếu ứng dụng thực tế đời sống cho tôi (bây giờ có một) và vấn đề này rất stdlib. –

3

Ngoài ra, nếu bạn đang học lisp, hãy xem xét sử dụng CLISP thay vì SBCL. CLISP có (IMHO) một trình gỡ lỗi trực quan hơn nhiều. Đối với bất kỳ công cụ nào không sản xuất, sự khác biệt giữa hầu hết các triển khai thường gặp của Lisp là không đáng kể.

+0

Tại sao tôi thích SBCL là nó biên dịch các tập tin trên bay ('sbcl --file ' và ở đây nó đi với tốc độ ánh sáng). Tôi không thể tìm ra cách để làm điều đó trong các triển khai khác. Tôi cũng sẽ xem xét CLISP, cảm ơn. –

+3

Trình sửa lỗi CLISP rất đẹp, nhưng sử dụng trình gỡ lỗi SBCL ** thông qua giao diện SLIME ** của nó không hề khó chịu. Nếu bạn muốn sử dụng CL của bạn từ một phiên dòng lệnh thực tế, CLISP là IMO sự lựa chọn tốt nhất chỉ trên sức mạnh của việc có Readline được xây dựng. Nếu bạn đang sử dụng SLIME, đó là một cuộc gọi khó khăn hơn. – Pillsy

+1

@Pillsy Tôi hoàn toàn có thể thông cảm, nhưng tôi cũng muốn đề cập đến các lỗi dòng lệnh của sbcl có thể (tương đối) dễ dàng được sửa bằng cách cài đặt 'linedit 'thông qua quicklisp. Nó cung cấp cho bạn readline và tab hoàn thành. – FizzixNerd

1

Nếu bạn đang phát triển trên Windows, CLHS (Common Lisp HyperSpec) và CLtL2 (Common Lisp ngôn ngữ, 2nd Edition) có sẵn như CHM tập tin trợ giúp, mà làm cho tìm kiếm CL chức năng thư viện tiêu chuẩn dễ dàng hơn nhiều. Tôi thấy rằng nó nhanh hơn việc sử dụng phiên bản HTML (trực tuyến hoặc ngoại tuyến).

Các tệp CHM có thể có sẵn từ nhiều nguồn. Một thuận tiện tải về:

http://www.daansystems.com/lispide/

(Họ đang đi kèm với gói LispIDE.)

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