Có bất kỳ hỗ trợ lisps lồng nhau nào biểu hiện s trên đầu của họ? Ví dụLàm bất kỳ lisps nào có biểu hiện như đầu của chúng, ví dụ: ((f 2) 3 4)? Nếu không, tại sao?
((f 2) 3 4)
mà (f 2)
có lẽ để đánh giá một hàm/macro để áp dụng trên 3 4
.
Có thể có hỗ trợ không? Hoặc có những hạn chế kỹ thuật cấm điều này/làm cho nó không thực tế?
dụ bây giờ là ổn. Lời giải thích không thực sự. Khe cắm biểu tượng chỉ là một nửa của vấn đề. 'Lisp-2' có hai không gian tên. Giá trị không được lưu trữ trong các vị trí. Giá trị là kết quả của việc đánh giá các biểu thức. (let ((a (lambda() 'hi))) (funcall a)) Trong ví dụ này trong Common Lisp không có' symbol value 'có liên quan. Nó là một tra cứu của một biến từ vựng. Nó không phải là một truy cập vào một giá trị của một biểu tượng. Biểu tượng chỉ là một tạo phẩm của mã nguồn, nhưng không phải là thực thi thực tế. –
Tôi nghĩ bạn nên viết lại đoạn thứ hai của bạn một chút. Có lẽ bắt đầu với "Trong Lisp-2s, mặt khác, có những không gian tên riêng biệt ..." Lúc đầu tôi bối rối vì tôi nghĩ bạn vẫn đang nói về Lisp-1 trong đoạn thứ hai của bạn. Tuy nhiên, được chấp nhận. – spacingissue