तो मुझे हास्केल पसंद है, लेकिन मैं न्यू क्लास से असंतुष्ट हूं। तो मैं बीजगणितीय प्रकार के लिए अपना खुद का टाइपक्लास श्रेणीबद्ध बनाना चाहता हूं।
समस्या यह है कि, अगर मैं प्रीलूड छिपाने वाले न्यूम और इसके साथ जुड़ी सबकुछ आयात करता हूं, फिर भी शाब्दिक 1 बनाने का एकमात्र तरीका टाइप टी है, उदाहरण उदाहरण संख्या है।
मैं अपने खुद के fromInteger वर्ग बनाने के लिए और पूरी तरह से Num तस्वीर से बाहर जाने के लिए प्यार होता है, इसहास्केल में इंटेगर से ओवरराइडिंग
import Prelude hiding (everything having to do with Num)
import qualified Prelude (everything having to do with Num)
class (Eq fi) => FromInteger fi where
fromInteger :: Integral -> fi
foo :: (FromInteger fi) => fi -> String
foo 1 = "that was a one"
foo 0 = "that was a zero"
foo n = "that was neither zero nor one"
की तरह और फिर मैं fromInteger उचित रूप से ब्रांड के नए प्रकार के लिए लागू होता है और कभी नहीं Num बारे में कुछ भी कहना है।
क्या पार्सर को इंटेगर विधि से अलग उपयोग करने का कोई तरीका है?
धन्यवाद!
कूल, यह कमाल है! –
@ जोसेफविक्टर [न्यूमेरिक प्रीलूड] (http://www.haskell.org/haskellwiki/Numeric_Prelude) को भी देखें। आप जो भी चाहते हैं वह आपको मिल सकता है। – dave4420
यह भी कूलर है (मूल रूप से, बिल्कुल जो मैं लिख रहा हूं!) –