2011-02-04 4 views
7

Làm cách nào để thêm một REPL Clojure tương tác vào ứng dụng .NET hiện có để tôi có thể sử dụng nó như một trợ giúp gỡ lỗi trực tiếp? (Lý tưởng nhất này sẽ là một C# REPL, nhưng những người đang cách nhau tắt (có lẽ NET 5,0?) Cuối cùng tôi nghe: http://channel9.msdn.com/blogs/pdc2008/tl16)Làm thế nào để thêm một Clojure REPL vào một ứng dụng .NET hiện có?

Tôi biết có dự án Clojure-CLR trên GitHub, nhưng tôi tự hỏi nếu có ai đó đã đến với một hướng dẫn hoặc thư viện đơn giản để tích hợp một REPL Clojure-CLR vào một ứng dụng hiện có?

Trả lời

2

Tôi không có ý tưởng như thế nào khác nhau Clojure CLR là từ Clojure thường xuyên, vì vậy đây có thể không hữu ích, nhưng bạn nên có một cái nhìn tại các triển khai của những REPLs:

Tôi đã tích hợp REPL Enclojure vào Redcar Editor khá dễ dàng, vì vậy đây có thể là một tùy chọn cho bạn nếu bạn port Enclojure để Clojure CLR? Mã liên quan đến Enclojure REPL khá ngắn gọn, vì vậy tôi không nghĩ đó sẽ là một nỗ lực lớn.

Nếu bạn không tìm kiếm bất kỳ thứ gì lạ mắt, bạn luôn có thể cuộn REPL của riêng bạn bằng chức năng tải chuỗi.

+0

đây là câu trả lời thực sự khủng khiếp. anh ta không muốn một clojure repl cho clojure, anh ta muốn một clojure repl để interop với một nền tảng thiếu một. –

+0

@Matt với một clojure bình thường repl bạn có thể tương tác với phần còn lại của JVM. Tôi sẽ giả sử bạn có thể tương tác với CLR theo cùng một cách với Clojure-CLR? Tôi hiểu lầm gì? – dbyrne

+0

vì tất cả những thứ này đều liên quan đến hack (như Nailgun mà vimclojure sử dụng), hoặc phụ thuộc nhiều vào JVM (giống như mọi thứ liên quan đến netbeans) –

2

Nếu tôi hiểu câu hỏi của bạn một cách chính xác, bạn muốn có C# REPL, nhưng thất bại mà bạn đang tìm kiếm bất kỳ loại REPL dựa trên .NET nào và Clojure có vẻ như là một khả năng vì nó đã có REPL và một cổng .NET của Clojure.

Nếu có, bạn có thể xem xét tích hợp F # REPL, F # Interactive. Đối với một, nó đã được integrated into the open-source MonoDevelop IDE, do đó, có mã nguồn có sẵn để tham khảo.

+0

Thú vị, và có một bài đăng ở đây cũng có thể hữu ích: http://stackoverflow.com/questions/1563024/embedding-f-interactive – pauldoo

2

Giải pháp cuối cùng của tôi là áp dụng IronPython. Như Joel đã xác định chính xác tôi đã không đặc biệt gắn liền với Clojure (câu hỏi của tôi bị đặt ra không đúng), và bất kỳ ngôn ngữ nào hỗ trợ phát triển tương tác sẽ làm được.

Looking for eval function in any .NET language