एफ # में, मैं क्या मैं एक काफी मानक सार डाटाटाइप के रूप में देखते करना चाहते हैं:एफ #: एक हस्ताक्षर में एक प्रकार संक्षेप छुपा नहीं सकता है? क्यों नहीं?
// in ADT.fsi
module ADT
type my_Type
// in ADT.fs
module ADT
type my_Type = int
दूसरे शब्दों में, मॉड्यूल के अंदर कोड जानता है कि my_Type एक पूर्णांक है, लेकिन कोड के बाहर नहीं है। हालांकि, एफ # में एक प्रतिबंध है, जहां संक्षेप में विशेष रूप से हस्ताक्षर द्वारा छुपाया नहीं जा सकता है। यह कोड एक कंपाइलर त्रुटि देता है, और प्रतिबंध here वर्णित है।
यदि My_Type इसके बजाय एक भेदभावपूर्ण संघ था, तो कोई कंपाइलर त्रुटि नहीं है। मेरा सवाल है, प्रतिबंध क्यों? मुझे लगता है कि एसएमएल और ओकम्ल में ऐसा करने में सक्षम होने के नाते, और इसके अलावा, क्या यह एक अमूर्त डेटाटाइप बनाने के दौरान एक सुंदर मानक बात नहीं है?
धन्यवाद
हाँ, धन्यवाद टॉमस और गणेश भी। अब मैं इस मुद्दे को समझता हूं, और मैं देख सकता हूं कि, इस संकलन रणनीति को देखते हुए, यह समस्या एक परिणाम है। यह थोड़ा निराशाजनक है क्योंकि मैं लगभग पूरी तरह से एफ # अंतरिक्ष में काम कर रहा हूं लेकिन मुझे पता है कि अंतःक्रियाशीलता बहुत महत्वपूर्ण है, इसलिए मैं शिकायत नहीं करूंगा! :-) –