2014-04-09 13 views
5

Tôi làm cách nào để xem xét lại các mô-đun đã nhập đủ điều kiện trong haskell? Điều đó là có thể?Tôi làm cách nào để xem xét lại các mô-đun đã nhập đủ điều kiện?

Ví dụ: Tôi có hai tệp. Các tập tin Utils.hs với mã:

module Utils (...) where 

import qualified Data.Map as Map 

và file main.hs:

import Utils 

main = putStrLn $ show $ Map.fromList [(1,2),(3,4)] 

gì làm tôi phải đặt thay vì ... trong file Utils.hs để các tập tin trên biên dịch và in fromList [(1,2),(3,4)] đến đầu ra tiêu chuẩn?

Mục tiêu: Sau khi nhậpUtils.hs trong tập tin khác qua import Utils Tôi muốn có quyền truy cập vào các chức năng và các loại Data.Map với mã Map.<function or data name>, ví dụ: để với văn bản import Utils Tôi không phải viết import qualified Data.Map as Map nữa. Điều này có thể không?

Lưu ý: Có một câu hỏi tương tự tại Haskell re-export module in addition to everything defined within module. Thật không may câu trả lời không giúp đỡ trong tình huống này.

gì tôi đã cố gắng cho đến nay: Các mã sau

module Utils (module Map) where 

import qualified Data.Map as Map 

biên dịch, nhưng tôi nhận được lỗi main.hs:3:26: Not in scope: `Map.fromList' nếu tôi cố gắng biên dịch main.hs.

+2

Xuất module có trình độ là không thể: http://stackoverflow.com/questions/3207647/ghc-refuses-to- mô-đun đủ điều kiện xuất khẩu – user2407038

+0

@ user2407038: Cảm ơn bạn đã liên kết. Thật không may tôi không thể tìm thấy giải pháp (xem câu hỏi mở rộng của tôi). Bạn có thể cung cấp một ví dụ đang chạy không? –

Trả lời

7

Điều bạn đang yêu cầu là không thể. Map.fromList sẽ giải quyết thành công chỉ khi có một nhập khẩu dưới hình thức

import [qualified] Map 

hoặc

import [qualified] ... as Map 
Các vấn đề liên quan