जब मैं किसी त्रुटि में भाग गया तो मैं अस्तित्व के रिकॉर्ड के लिए रिकॉर्ड अपडेट का उपयोग करने का प्रयास कर रहा था। एक त्वरित Google ने मुझे feature request #2595 पर ले जाया, जो इसे जीएचसी के लिए संस्करण 6.8.3 में वापस लागू करने के रूप में दिखाता है। मैं 6.10.4 उपयोग कर रहा हूँ, इसलिए मैं यह काम करना चाहिए लगता है, लेकिन सुविधा का अनुरोध से उदाहरण कोड:हास्केल: मौजूदा प्रकार के लिए रिकॉर्ड अपडेट
test.hs:10:8:
Record update for the non-Haskell-98 data type `Foo' is not (yet) supported
Use pattern-matching instead
In the expression: rec {foo = id}
In the definition of `f': f rec = rec {foo = id}
test.hs:13:8:
Record update for the non-Haskell-98 data type `Foo' is not (yet) supported
Use pattern-matching instead
In the expression: rec {bar = 3}
In the definition of `g': g rec = rec {bar = 3}
: के रूप में सुविधा का अनुरोध में की शिकायत की
{-# LANGUAGE ExistentialQuantification,Rank2Types #-}
module Foo where
data Foo = forall a . Foo { foo :: a -> a, bar :: Int }
x :: Foo
x = Foo { foo = id, bar = 3 }
f :: Foo -> Foo
f rec = rec { foo = id }
g :: Foo -> Foo
g rec = rec { bar = 3 }
ही त्रुटियों उपज
क्या यह किसी बिंदु पर एक जानबूझकर गिरावट वाली सुविधा थी, या क्या मुझे एक बग रिपोर्ट दर्ज करनी चाहिए?
आह का उपयोग कर। मुझे यह मानकर एक गूंगा गलती करने से बचाने के लिए धन्यवाद कि इसे मेरे संस्करण में ठीक किया जाना चाहिए। जीएचसी अपडेट करने के लिए बंद! – rampion
आह, नया और अलग त्रुटि संदेश, बस के रूप में आप ने कहा। लेकिन एक का मानना है कि यह है कि मैं कुछ गलत कर रहा हूँ, नहीं है कि यह असंभव है। – rampion