2015-05-04 4 views
14

के लिए हास्केल डेटा इंस्टेंस मैं फ़ॉन्ट लाइब्रेरी का उपयोग करने के लिए ओपन सोर्स पैच लिख रहा हूं, या सी (एफटीजीएल) में फ़ॉन्ट लाइब्रेरी में हैकेल बाइंडिंग्स लिख रहा हूं। मैं डेटा संरचनाओं, जो के रूप में परिभाषित किया गया है में से एक में फ़ॉन्ट प्रकार की ओर इशारा करते रहा हूँ इस प्रकार है:अपारदर्शी डेटा प्रकार

type Font = Ptr Font_Opaque 
data Font_Opaque 

दुर्भाग्य से, पुस्तकालय मैं पैचिंग कर रहा हूँ के डेटा संरचना में फिट, इस प्रकार के होने की जरूरत है Data का एक उदाहरण। पीटीआर पहले से ही है, लेकिन Font_Opaque स्पष्ट रूप से नहीं है, इसलिए संकलक शिकायत करता है।

चूंकि यह एक अपारदर्शी प्रकार है, मुझे यकीन नहीं है कि कैसे आगे बढ़ना है ... डेटा Font_Opaque को कम या ज्यादा समझदार तरीके से कैसे कार्यान्वित किया जाए? क्या कोई समझदार तरीका है?

+2

आप 'उदाहरण डेटा Font_Opaque' प्राप्त करने का प्रयास कर सकते हैं (पहले 'स्टैंडअलोनडिविंग' एक्सटेंशन सक्षम करें) और फिर (यदि जीएचसी प्राप्त कर सकता है) '-ddump-deriv' के साथ उदाहरण को देखें। –

उत्तर

3

एंड्रास कोवाक्स द्वारा टिप्पणी के रूप में पता चलता है, StandaloneDeriving भाषा विस्तार

{-# LANGUAGE StandaloneDeriving -#} 

और उसके बाद का उपयोग कर:

deriving instance Data Font_Opaque 

चाल किया था, कम से कम जहां संकलक संबंध है। अगर मैं इस कार्यक्रम को किसी भी तरह से प्रभावित करता हूं तो मैं वापस रिपोर्ट करूंगा। धन्यवाद!

संबंधित मुद्दे