Tôi thường tin tưởng vào việc sử dụng các không gian tên (tên mô-đun đủ điều kiện) trong hầu hết các ngôn ngữ tôi lập trình. từ. Trong Haskell cũng có lợi thế bổ sung là tránh các xung đột tên phổ biến với các hàm Prelude.Làm cách nào để xử lý các biểu tượng infix trông xấu xí với các tên đủ điều kiện
Tuy nhiên, tôi cảm thấy như phải đặt một namespace trên một biểu tượng trung tố (hoặc, định danh DSL-y ngắn khác) trông thật sự lạ vì vậy tôi đang bị cám dỗ để tái xuất khẩu giá trị, như thế này:
import qualified Data.Sequence as Seq
(|>) = (Seq.|>)
(<|) = (Seq.<|)
gì đang làm phiền tôi bây giờ là
Giá trị xem lại thủ công giống như bản mẫu nhàm chán.
thủ reexporting giá trị đi xung quanh hệ thống mô-đun hiện có và dường như không làm việc với nhà thầu dữ liệu (và có thể là những thứ khác tôi đã không đi qua chưa)
import qualified Data.Sequence as Seq (:>) = (Seq.:>) --gives me a parse error: --"Not in scope: data constructor `:>'"
Làm thế nào để hòa hợp các biểu tượng infix và không gian tên? Tôi có nên từ bỏ và học cách không gian tên mọi thứ? Có các phương pháp hay nhất về Haskell về cách đặt tên và ký hiệu không?
Khi tôi thử điều này, tôi nhận được lỗi sau trong quá trình biên dịch: 'Việc nhập 'bất cứ điều gì' là dư thừa'. Bạn có nhận được điều này không? Có thể loại bỏ cảnh báo không? – VF1