Có thể ai đó vui lòng giải thích những vấn đề cụ thể với việc sử dụng gói cl trong elisp? Là một coder mới trong emacs tôi cảm thấy như thể tôi đang làm một sai lầm bất cứ khi nào tôi đạt cho (yêu cầu 'cl) tùy chọn. Tôi đã đọc và hiểu vấn đề biên dịch byte với gói cl. Tôi đã xem xét các lập luận cũ và không muốn làm sống lại chúng. Tôi cũng không tìm kiếm bất kỳ bình luận chung về việc liệu lisp thông thường là tốt hơn so với x thương hiệu lisp.Làm thế nào để tôi sử dụng tốt nhất phổ biến-lisp trong elisp (nếu ở tất cả)?
Những gì tôi muốn biết là thực tế làm thế nào để sử dụng chung-lisp để bất kỳ elisp tôi viết sẽ có một cơ hội tốt được chấp nhận bởi phần lớn các lập trình viên elisp. Cụ thể, tôi có nên tránh sử dụng hoàn toàn lisp chung hay có một số phần của ngôn ngữ có thể chấp nhận được đối với mọi người và một số phần trong đó phần lớn các lập trình viên sẽ kích hoạt và chế giễu?
Nếu không có nhu cầu để hạn chế bề rộng của câu trả lời, là thế này:
(mapcar (lambda(x) (* x x)) '(1 2 3))
nhiều hơn nữa chấp nhận được hơn thế này:
(require 'cl)
(loop for el in '(1 2 3) collect (* el el))
Thật tuyệt vời khi nhận được một số nhận xét từ bất kỳ ai không thích phổ biến-lisp (hoặc có thể không có bất kỳ và huyền thoại là busted). –
gói CL không phải là Common-Lisp, vì vậy bạn có thể thích và không thích người khác. Tôi thích nhiều phần của gói CL cung cấp, nhưng có những phần khác có vấn đề vì nhiều lý do khác nhau. Thư viện 'cl-lib' mới trong Emacs-24.3 dọn dẹp không gian tên để chúng ta không cần quan tâm nếu' cl-lib' là tốt hay không. Phần CL tôi không thích phải làm với các tính năng của Common-Lisp không phù hợp với việc thực hiện "thông dịch đơn giản", vì vậy chúng có thể dẫn đến chi phí hiệu năng không mong muốn. (cộng với một số tính năng có triển khai là thiếu sót) – Stefan