Clojure có một số lượng lớn chức năng/macro để làm việc với không gian tên và nhập gói java. Để sự hiểu biết của tôi (hạn chế) việc thiết lập các không gian tên có thể được coi là trạng thái trong một quá trình clojure (repl).Quản lý không gian tên Clojure - Có cách nào để lưu và khôi phục trạng thái không gian tên thay thế clojure, nhập khẩu, v.v. không?
Khi làm việc lặp lại tại phiên REPL, đặc biệt khi tệp nguồn được tải lại, tôi có thể dễ dàng nhầm lẫn - thường khi tôi mắc lỗi hoặc lỗi cú pháp trong cấu hình không gian tên. Lần khác, tôi muốn thử tái cấu trúc không gian tên/bí danh/bộ lọc tham chiếu nhưng không thể dễ dàng thoát khỏi trạng thái không gian tên hiện tại mà không cần khởi động lại REPL. Ví dụ: Tôi muốn có thể cấu hình không gian tên điểm kiểm tra - chẳng hạn như sau khi phần chính của mã được tải tại repl - sau đó quay trở lại "slate clean" đó sau khi thử một số thư viện được nhập vào REPL để tôi có thể kiểm tra ngay lập tức tệp nguồn nhập một tập con được lọc của các phương thức trong thư viện đó như là một phần của macro ns.
Mọi người có thể đề xuất các cách lưu và khôi phục cấu hình không gian tên không?
Điều này nghe giống như chức năng _save-world_ mà nhiều triển khai Common Lisp mang theo. – Greg
Chắc chắn là có thể, bằng cách sử dụng (clojure.lang.Namespace/all) và .getMappings, nhưng tôi không thể tìm thấy bất kỳ dấu hiệu nào cho thấy bất kỳ ai đã thực hiện nó. – dreish