2015-08-25 9 views
5

मैं जब GHC 7.10.2 में निम्न उदाहरण की कोशिश कर रहा parse error on input ‘where’ हो रही है काम नहीं करता:GHC 7.10.2 प्रकार परिवारों विस्तार

{-# LANGUAGE TypeFamilies #-} 

type family F a :: * 
type instance where 
    F (Maybe Int) = Int 
    F (Maybe Bool) = Bool 
    F (Maybe a) = String 

Same question was asked two years ago about GHC 7.4.2

मैं प्रकार परिवारों GHC 7.6 के साथ ठीक किया करते थे। * इस साल (अंतिम अंक याद नहीं कर सकते)। यह GHC 7.10.2 के साथ एक समस्या है?

the User's Guide के अनुसार, प्रकार परिवारों उपलब्ध हैं।

मेरा जीएचसी 7.10.2 और कैबल 1.22.6.0 जहां this PPA से स्थापित किया गया।

+0

संभव डुप्लिकेट http://stackoverflow.com/questions/16338175/type-families-extension-does-not-work-as- बताया गया है) – Bakuriu

उत्तर

8

आप इस तरह खुले और बंद प्रकार परिवार वाक्य रचना नहीं मिश्रण कर सकते हैं और मुझे यकीन है कि तुम कहाँ से उस विचार हो रही है नहीं कर रहा हूँ। सही सिंटैक्स है

type family F a :: * where 
    F (Maybe Int) = Int 
    F (Maybe Bool) = Bool 
    F (Maybe a) = String 
[प्रकार परिवार के रूप में वर्णित विस्तार से काम नहीं करता] (की
+0

दरअसल, धन्यवाद – wowofbob

+2

:) जाहिर ओपी वाक्य रचना * * थोड़ी देर के लिए लागू किया गया था (सिर में, नहीं किसी भी संस्करण जारी किया है), लेकिन [तकनीकी मुद्दों] (https://ghc.haskell.org/trac/ghc/ wiki/NewAxioms/ClosedTypeFamilies) करने के लिए इसे वापस ले लिया और द्वारा प्रतिस्थापित किया जा नेतृत्व [वर्तमान बंद प्रकार परिवार संस्करण केवल] (https://ghc.haskell.org/trac/ghc/wiki/NewAxioms)। –

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