Tôi là một người mới bắt đầu với Haskell và tôi đã bắt đầu nhìn thấy các lỗi tương tự như:Haskell: -fglasgow-exts có nên tránh mã yêu cầu điều này không?
Illegal parallel list comprehension: use -fglasgow-exts
Tôi đang làm việc trong ghci
và với ghc
nhưng chỉ do thực tế rằng nó là người đầu tiên tôi tìm thấy trên một tìm kiếm .
Tôi tò mò nếu đây là loại tình huống mà bạn muốn tránh tiếp tục. Bất kỳ tìm kiếm nào tôi đã đề cập đến là các tiện ích mở rộng này hiển thị các cơ sở cơ bản có thể (hoặc có thể không) hữu ích.
Một ví dụ cụ thể là
fibs = 0 : 1 : [ a + b | a <- fibs | b <- tail fibs ]
tôi giả sử một thực tế rằng cả hai a
và b
đang đọc từ danh sách cùng một lúc gây ra vấn đề ở đây ...? Vì vậy, nếu phần mở rộng glasgow là phương tiện duy nhất để hỗ trợ cấu trúc này thì việc tạo danh sách theo cách khác hay chỉ giả định rằng các phần mở rộng sẽ có sẵn là phổ biến hơn?
Cảm ơn trước về mọi đầu vào.
[EDIT] Xin lỗi nếu điều này không hoàn toàn rõ ràng, nhưng câu hỏi của tôi là nếu bao gồm phần mở rộng glasgow (hoặc bất kỳ tiện ích mở rộng nào khác) được coi là thực hành không tốt. Ví dụ trên chỉ để minh họa loại lỗi đã nhắc câu hỏi này.
Đúng vậy, nhưng tôi giả định rằng vẫn chèn các phần mở rộng cụ thể vào cơ sở mã. Câu hỏi của tôi là liệu đó có phải là thực hành tốt hay không. Ví dụ, trong C một là miễn phí để bao gồm một tập tin nguồn trong một #include chỉ thị, nhưng điều này được coi là thực hành xấu. – ezpz
@ezpz: Tôi hiểu rồi. Tôi sẽ cập nhật câu trả lời của mình. Phiên bản ngắn: nó phụ thuộc vào phần mở rộng, nhưng nhiều người được an toàn và thậm chí có lợi để sử dụng. Tôi không nghĩ rằng sự hiểu thấu song song đủ rộng để đủ điều kiện như vậy. –
Cảm ơn bạn đã liên kết - đó chính xác là loại thông tin mà tôi đang xem xét. – ezpz