हास्केल अतिरिक्त आयातित मॉड्यूल के साथ वर्तमान मॉड्यूल का निर्यात करता है


96

क्या हास्केल में एक मॉड्यूल लिखना संभव है, जो अंदर दिखाई देने वाली हर चीज को निर्यात करने के अलावा एक मॉड्यूल को फिर से निर्यात करता है ?

निम्नलिखित मॉड्यूल पर विचार करें:

module Test where
import A

f x = x

यह मॉड्यूल अंदर परिभाषित सब कुछ निर्यात करता है, इसलिए यह निर्यात fकरता है लेकिन इससे आयातित कुछ भी फिर से निर्यात नहीं करता है A

दूसरी ओर, अगर मैं मॉड्यूल को फिर से निर्यात करना चाहता हूं A:

module Test (
    module A,
    f
) where
import A

f x = x

क्या प्रत्येक फ़ंक्शन को स्पष्ट रूप से लिखने की आवश्यकता के बिना परिभाषित किए गए हर चीज को फिर से निर्यात Aऔर निर्यात करने का एक तरीका है ?TestTest

जवाबों:


139

एक सरल उपाय है, बस मॉड्यूल से मॉड्यूल निर्यात करें:

module Test
    ( module Test
    , module A
    ) where

import Prelude()
import A
f x = x

यहां एक्सप्लॉइट किया गया
PyRulez

इसके अलावा, यह क्यों काम करता है? (कोई दस्तावेज़ीकरण?)
PyRulez

1
@PyRulez हास्केल रिपोर्ट निश्चित स्रोत है: haskell.org/onlinereport/haskell2010/…
थॉमस एम। डुबिसन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.