मेरी समझ यह है कि हास्केल में मॉड्यूल के बिंदीदार वाक्यविन्यास डिस्क पर तार्किक संरचना का प्रतिनिधित्व करता है। तो, हम इस तरह की एक संरचना है यदि:"पेड़ ऊपर" हास्केल मॉड्यूल
Main.hs
Foo/
Bar.hs -- exports "Bar"
Quux.hs -- exports "Quux"
... तो हमारी Main.hs
, हम कर सकते हैं:
import Foo.Bar
import Foo.Quux
(मुझे लगता है कि हम केवल फाइल सिस्टम की पत्र-गांठ पर मॉड्यूल हो सकता है उदाहरण के लिए, उपरोक्त में, कोई तरीका नहीं है कि हम Foo
मॉड्यूल भी प्राप्त कर सकें।)
इस उदाहरण में, हम पेड़ को पार कर रहे हैं। अगर हम ऊपर जाना चाहते हैं तो क्या होगा?
lib/
SomeModule.hs
XYZ.hs
src/
Main.hs
यही है, Main.hs
में, हम SomeModule
या XYZ
कैसे आयात करूँ?
शायद यह Main
के साथ एक आम घटना नहीं होगी, लेकिन अंतर-मॉड्यूल निर्भरताओं के बारे में क्या होगा? वे वैध रूप से "चचेरे भाई" नोड्स को संदर्भित करने की आवश्यकता हो सकती है।
"शाखाओं" में मॉड्यूल होना बहुत आम है - बस उदा। अपनी '' 'foo /' '' dir – amindfv
जैसी ही निर्देशिका में '' 'Foo.hs''' बनाएं, इसके अलावा, सटीक होने के लिए: मॉड्यूल के बिंदीदार वाक्यविन्यास जीएचसी * में डिस्क * पर तार्किक संरचना का प्रतिनिधित्व करता है। रिपोर्ट स्वयं डिस्क पर मॉड्यूल कैसे संग्रहीत की जाती है इसका कोई संकेत नहीं देता है, और प्रतिद्वंद्वी कार्यान्वयन अन्य चीजों को करने का विकल्प चुन सकता है - एक मेनिफेस्ट फ़ाइल है, डेटाबेस का उपयोग करें, क्लाउड में चीजें स्टोर करें ... –