Khi tôi nhập (lớn) module vào một module chính trong một trong các cách sau:Haskell: Tăng trưởng nhị phân không cần thiết với hàng nhập khẩu mô-đun
import Mymodule
import qualified Mymodule as M
import Mymodule (MyDatatype)
nhị phân tổng hợp phát triển số lượng khổng lồ cùng so với khi tôi don không nhập mô-đun đó. Điều này xảy ra bất kể tôi có sử dụng bất cứ thứ gì bên trong mô-đun đó hay không trong mô-đun chính. Không nên trình biên dịch (tôi đang sử dụng GHC trên thử nghiệm Debian) chỉ thêm vào nhị phân những gì là cần thiết để chạy nó?
Trong trường hợp cụ thể của tôi, tôi có một Bản đồ khổng lồ trong Mymodule mà tôi không sử dụng trong mô-đun Chính. Chọn lọc nhập khẩu những gì tôi thực sự cần, không thay đổi sự tăng trưởng của nhị phân biên dịch.
Trích dẫn ehird: "Theo như GHC liên quan, danh sách nhập chỉ có thể đọc được và tránh xung đột tên; chúng không ảnh hưởng đến những gì được liên kết." Điều đó không thể đúng, vì sự tăng trưởng về kích thước xảy ra ngay cả khi tôi chỉ đặt "nhập Mymodule" trong mô-đun chính mà không sử dụng bất kỳ thứ gì bên trong mô-đun đó. – Josephine
"Danh sách nhập" đề cập đến danh sách số nhận dạng cần nhập trong dấu ngoặc đơn sau tên mô-đun, không phải danh sách các câu lệnh nhập ở đầu mô-đun. – ehird
Phải, điều đó có ý nghĩa. Cảm ơn bạn đã làm rõ và câu trả lời rất thông tin! – Josephine