2008-10-08 47 views
27

Có ai biết cách tốt đẹp (và tốt nhất là miễn phí) để tích hợp Prolog và C#?Lồng ghép Prolog với C#

Tôi đang tìm cách tạo dll Prolog hoặc tương tự như gọi từ mã được quản lý của tôi và truy xuất câu trả lời sau khi quá trình xử lý hoàn tất. Im tìm kiếm nó được chủ yếu là một mặt (C# gọi Prolog).

Tôi đã xem this question nói về Prologs sử dụng thế giới thực nhưng tôi đã tự hỏi liệu có ai có kinh nghiệm với C# & Prolog không? hoặc một bài viết hay bài viết hay?

+2

Hey Greg, Tôi đã tò mò về con đường bạn đã thực hiện với tích hợp Prolog/C# này và bất kỳ may mắn nào bạn có. Trong cùng một chiếc thuyền ở đây. Cám ơn. -Al – mirezus

Trả lời

12

Prolog.NET (chỉnh sửa: link cập nhật như liên kết trang web cũ đã bị hack) Tôi đã thử cả hai P # và Prolog.NET, nhưng cả hai đều có những điểm yếu của họ.

+1

Lưu ý: Liên kết có thể ném cảnh báo phần mềm độc hại, xem [bài đăng meta này] (http://meta.stackexchange.com/questions/101318/should-this-answer-be-deleted-due-to-linking-to-potentially -malicious-content) - Tôi sẽ xóa nhận xét này khi trang web được liên kết đã xóa mã lừa đảo. –

+1

Tôi đã xóa liên kết. Trang web đã bị xâm phạm. Cách duy nhất để có được prolog.net là tải xuống trình cài đặt từ trang web bị tấn công, điều này dường như không phải là điều thông minh nhất để làm. – Will

+0

Tác giả đã gửi cho tôi liên kết được cập nhật; Trang không tắt bất kỳ báo thức nào, nhưng tôi không biết nó an toàn như thế nào. Tải về có nguy cơ của riêng bạn. – Will

2

lẽ P# sẽ hữu ích cho bạn

+0

Liên kết này bị hỏng ngay bây giờ, biết bất kỳ nơi nào khác có thông tin về điều này? –

+0

[This] (http://www.dcs.ed.ac.uk/home/jjc/psharp/psharp-1.1.3/dlpsharp.html) vẫn đang hoạt động khi đăng nhận xét này. – OnesimusUnbound

9

Bạn có thể có một cái nhìn tại Yield Prolog.

Sản lượng Prolog sử dụng yield từ khóa trong C# (và Python và JavaScript) và tùy chỉnh lớp Variable để mô phỏng máy Prolog. Bằng cách này, bạn sẽ nhận được một API Prolog bằng ngôn ngữ yêu thích của bạn. Bạn không cần phải kết nối ngôn ngữ chính của bạn với P # hoặc các dự án tương tự.

2

Đó không phải là miễn phí, nhưng Sicstus Prolog cho phép kết nối với C# và Java

này là việc thực hiện Prolog chúng tôi sử dụng tại công ty chúng tôi, và nó rất nhanh và hữu ích.

+1

Tôi đã sử dụng Sicstus trong quá khứ và nhận thấy đó là một sản phẩm rất tốt. Tôi không biết rằng nó có thể kết nối với C#, vấn đề duy nhất bây giờ nó là lệ phí giấy phép khá lớn! –

0

Bạn có thể sử dụng ECLiPSe Prolog. tôi đã tích hợp nó với VC8. nó sẽ là tốt hơn để sử dụng VC8 thay vì C#.

0

Nếu triển khai với một thực hiện prolog đầy đủ không phải là một vấn đề bạn có thể sử dụng SWI-Prolog và nói chuyện với nó qua XPCE và ổ cắm.

Các vấn đề liên quan