2012-09-15 27 views
8

Tôi đang chuyển đổi một số mô-đun từ OCaml sang F #. Để tìm lỗi và xác minh một số khác biệt tốt hơn, tôi đang chạy cả hai phiên bản đối với cùng một trường hợp thử nghiệm cùng một lúc.Chuyển đổi OCaml thành F #: Có một IDE OCaml với GUI gỡ lỗi như Visual Studio

Đối với F # Tôi đang sử dụng trình gỡ lỗi Visual Studio và cho OCaml tôi đang sử dụng ocamldebug. Vì Visual Studio là một GUI và ocamldebug là một dòng lệnh, nên việc so sánh đòi hỏi sự chú ý nhiều hơn so với việc quét qua lại trực quan.

Tôi đã tự hỏi liệu có bất kỳ IDE OCaml nào hỗ trợ trình gỡ rối GUI với bước trong khi hiển thị dòng nguồn được đánh dấu và cửa sổ riêng biệt để hiển thị các giá trị hay không.

EDIT

Tôi đã tìm kiếm thêm sau khi Jack đăng câu trả lời và sau đó nhớ tại sao tôi không chọn một vài tháng trước khi tôi làm điều này.

Những lý do tôi đi qua trên những cái tôi tìm và ở lại với các công cụ dòng lệnh OCaml là

  1. Các công cụ dòng lệnh đi kèm với trình biên dịch, vì vậy họ đang hiện hành và làm việc. Có một số tài liệu về các công cụ, nhưng một cách trung thực tôi đã phải dành một vài giờ viết hướng dẫn sử dụng ocamldebug của riêng tôi với các ví dụ để trở nên thành thạo với ocamldebug.

  2. Họ dựa trên EMACS. Nó không phải EMACS nhưng tôi; Tôi chỉ ghét cách nó hoạt động. Ngoài ra tất cả các công cụ làm việc với EMACS tôi thấy chúng chỉ là hàm bao quanh ocamldebug. Vì vậy, không có gì đạt được nhưng ghi nhớ nhiều hơn các lệnh. Lưu ý: EMACS được duy trì và cập nhật tích cực.

  3. Chúng dựa trên Eclipse. Tôi đã sử dụng Eclipse rất nhiều để làm việc với ANTLR, nhưng tôi chỉ thực hiện một hệ thống vài năm một lần và có những ghi chú rất tốt về nó vì vậy nó xứng đáng với thời gian của tôi. Một khi tôi nhận được Eclipse làm việc cho một bản phát hành ANTLR lớn, tôi không cập nhật nó một lần nữa trong nhiều năm. Trong một khoảng thời gian ngắn, tôi dự định gỡ lỗi OCaml, chi phí quá cao. Lưu ý: Eclipse được duy trì và cập nhật tích cực.

  4. Chúng không thực hiện gỡ lỗi. Vì có rất ít công cụ GUI cho OCaml, ngay cả một trình soạn thảo nâng cao cũng là một lợi ích cho một số. Không phải cho tôi vào lúc này.

  5. Công cụ/trình cắm đã không được duy trì trong một vài năm.

Đây không phải là sự đặt xuống của OCaml, chỉ là các chi tiết như tôi tìm thấy chúng. Tôi không có vấn đề gì với OCaml, tôi chỉ ước mình làm việc hiệu quả hơn với nó.

+3

Tôi thấy việc sử dụng bài đăng trên blog "Rise and Fall of OCaml" này không phù hợp. Trước hết, các công cụ mà bạn đang đề cập (Eclipse, v.v.) luôn được sử dụng bởi một cộng đồng thiểu số và do đó không cố gắng, tôi thấy không có xu hướng rõ ràng nào về việc người ta dừng việc duy trì các công cụ (đã có một nửa còn sống một nửa) dự án trên tất cả các Caml Hump cho đến nay như tôi có thể nhớ). Thứ hai, tác giả của blog đã hoặc có lợi ích thương mại ở những người chuyển sang F #: bất chấp sự sáng chói kỹ thuật của tác giả và một số điểm tốt, bài đăng này là thiên vị; lan truyền nó xung quanh khuyến khích FUD. – gasche

+0

"tác giả của blog đã hoặc có lợi ích thương mại ở những người di chuyển đến F #". Tôi xin lỗi nhưng điều đó hoàn toàn vô nghĩa. Chúng tôi đã đầu tư rất nhiều vào OCaml với nhiều sản phẩm thương mại dựa trên OCaml để bán và trong đường ống. Chúng tôi đã có một động cơ rất mạnh mẽ để tiếp tục với OCaml và đã làm như vậy miễn là chúng tôi có thể nhưng nó đã trở nên ít hơn và ít khả thi về mặt thương mại vì vậy chúng tôi đã buộc phải thả nó. –

+0

Quan tâm: [Lý do] (http://facebook.github.io/reason/index.html#reason) –

Trả lời

3

Tôi không thể tìm thấy trình gỡ rối GUI OCaml với khả năng giống như Visual Studio sử dụng F # đáp ứng các yêu cầu của tôi.

Nếu ai đó tìm thấy hoặc tạo và đăng câu trả lời đó, tôi sẽ sẵn lòng cho họ chấp nhận phiếu bầu.

4

Tôi nghĩ hầu hết mọi người chỉ sử dụng trình gỡ lỗi OCaml (ocamldebug) từ bên trong các emacs (xem phần cuối của trang đó để biết chi tiết).

Tôi không biết nếu nó hỗ trợ gỡ lỗi (chưa), nhưng TypeRex OCaml Programming Studio trông giống như một dự án thú vị.

Cuối cùng, có một số trình cắm thêm cũ chưa được duy trì của Eclipse mà bạn có thể thử (ví dụ: Camelia), mặc dù tôi nghi ngờ rằng chúng đã bị quá ít thời gian để sử dụng nhiều vào thời điểm này.

+0

Tôi đã xem trang web TypeRex và không thể tìm thấy bất kỳ tham chiếu nào để gỡ lỗi. –

+0

Tôi đã xem trang web Camelia và nó là một trình bao bọc GUI xung quanh ocamldebug. Họ phải cung cấp cho bạn một dòng lệnh để sử dụng ocamldebug để có được toàn bộ sức mạnh của nó. Tôi đã cho Camelia cài đặt và xem nhanh nhưng nó không hoạt động một cách trực giác nên tôi đã gỡ cài đặt nó. –

+0

+1 cho nỗ lực, nhưng tôi không thể chấp nhận điều này làm câu trả lời. –

2

Tôi đã tự hỏi liệu có bất kỳ IDE OCaml nào hỗ trợ trình gỡ rối GUI với bước trong khi hiển thị dòng nguồn được đánh dấu và cửa sổ riêng biệt hiển thị giá trị hay không.

Tôi chỉ mới quay trở lại OCaml và Linux ngay sau 4 năm, nhưng cuối cùng tôi thấy, Linux có các thư viện GUI rất kém và OCaml có khả năng tương tác rất kém nên không ai có thể viết rất xa các ứng dụng GUI tầm thường trong OCaml.

+0

Đã thử với Haskell một vài năm trước, nhưng nó quá tinh khiết, bây giờ nhìn vào cả hai OCaml & F # (cả hai thực tế hơn) để viết ứng dụng GUI đa nền tảng sẽ sử dụng bên thứ 3 C-lib cho một số crunching số. Xem xét bạn sử dụng OCaml, sau đó chuyển sang F # và bây giờ 'trở lại vào OCaml và Linux' (tôi sử dụng Debian x86_64), bạn sẽ giới thiệu ngôn ngữ nào? * hôm nay *? (Tôi muốn ở lại bằng cách sử dụng * một * ngôn ngữ và chỉ cần gọi bên thứ 3 C-lib và yêu cầu GUI lib qua lablgtk hoặc GTK #. Tôi không muốn làm điều đó trong C (++) và tôi đã sẵn sàng thương mại một số hiệu suất cho việc sử dụng ngôn ngữ FP. :-) Bất kỳ gợi ý? – gour

+1

Tôi khuyên bạn nên dùng tay F #. OCaml vẫn là một ngôn ngữ năm 1990. –

+0

Cảm ơn bạn. Nó mang nhiều ý nghĩa với tôi. ;) – gour

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