Tôi đã quyết định quay trở lại LISP (chưa sử dụng nó từ lớp AI của tôi) để có được sự thoải mái hơn với lập trình hàm nói chung, vì vậy tôi đã tải xuống Lisp In A Box (mà chúng tôi đã sử dụng trong một lớp trước) đi kèm với CLISP và Emacs.Lisp In A Box - Tại sao nó bắt đầu một máy chủ?
Khi tôi chạy nó, nó nói:
kết nối trên cổng 1617. Hãy REPL này, anh trai, và nó có thể phục vụ bạn tốt.
Cái gì? Vì vậy, tôi đã xem trang web Lisp In A Box chặt chẽ hơn và tìm thấy điều này:
SLIME là môi trường phát triển tích hợp cho Emacs giao diện với triển khai Lisp thông thường qua ổ cắm mạng. Rất nhiều thông tin về SLIME có thể được tìm thấy tại nút SLIME trên CLiki. Hướng dẫn sử dụng cho SLIME có sẵn ở định dạng PDF trực tuyến.
Tôi phần nào hiểu SLIME là gì (một số loại mở rộng cho emacs, đúng không?) Nhưng tại sao thế giới lại là trình soạn thảo văn bản bắt đầu máy chủ của riêng mình và kết nối với nó?
Slime có nghĩa là để giao tiếp với một máy chủ Swank, cho phép gỡ lỗi và vá một quá trình trực tiếp, chạy dài một cách nhanh chóng, đúng không? Điều này không nguy hiểm sao?Tôi chắc chắn sẽ không muốn chỉ viết và thực thi mã on-the-fly, trên một máy chủ web sản xuất, có khả năng gây ra tất cả để sụp đổ. – Cybis
Hơn nữa, đây không phải là vấn đề bảo mật phải không? Bất kỳ ai cũng có thể kết nối với quy trình và thực thi mã LISP tùy ý. Tại sao lại không có một cơ chế xác thực/ủy quyền nào đó cho điều này, nếu đó là những gì swank có nghĩa là gì? – Cybis
Tất nhiên, việc thay đổi thứ gì đó trên bay là nguy hiểm, nhưng giết chết quá trình và khởi động lại nó không phải là tốt hơn, phải không? Trong cả hai trường hợp, bạn hy vọng rằng bạn đã thử nghiệm thay đổi ở một nơi khác trước khi cam kết. :) –