2012-07-02 16 views
27

जब मैंने पहली बार हास्केल सीखा, तो हास्केल '9 8 आधिकारिक प्रकाशित भाषा विनिर्देश था। आज, यह विनिर्देश हैस्केल 2010 है। (मुझे यह मानना ​​है कि वास्तव में क्या अंतर है, यह वास्तव में कठिन समय है।)हास्केल कैसे बदल गया है?

अब हास्केल लंबे समय के लिए आसपास रहा है। (ठीक है, कंप्यूटिंग शब्दों में यह एक लंबा समय है।) तो मैं क्या सोच रहा हूं ... क्या हैस्केल के इतिहास पर भाषा में कोई बड़ा डिज़ाइन परिवर्तन हुआ है? या क्या सभी बदलाव अपेक्षाकृत मामूली हैं? क्या वहां कहीं भी मैं इनकी सूची ढूंढ सकता हूं, बिना बैठे और अंतर को स्पॉट करने की कोशिश कर रहे हास्केल रिपोर्ट के हर संस्करण के माध्यम से पढ़ रहा हूं?

+2

वहाँ [विकि पृष्ठ] पर एक बहुत ही कम सारांश है (http://en.wikipedia.org/wiki/Haskell_%28programming_language%29#History), जो हमें [हास्केल 2010 रिलीज घोषणा] तक ले जाता है (http://www.haskell.org/pipermail/haskell/2009-November/021750 .html) जिसमें उस संस्करण के बारे में कुछ और जानकारी है। – huon

+2

प्रकार प्रणाली बहुत अधिक विस्तारित हुई है। डी फैक्टो हास्केल मानक जीएचसी है, इसकी विस्तृत विविधता भाषा एक्सटेंशन - जिनमें से कई इन दिनों कम या ज्यादा मानक हैं। –

+0

Haskell H98 और Haskell 2010 के बीच बहुत कुछ नहीं बदला है।_Glasgow Haskell_ ने उस समय सीमा में एक बड़ा सौदा बदल दिया है। –

उत्तर

26

प्रमुख उपलब्धियों और डिजाइन फैसले सहित भाषा, के इतिहास,

@INPROCEEDINGS{Hudak07ahistory, 
    author = {Paul Hudak and John Hughes and Simon Peyton Jones and Philip Wadler}, 
    title = {A history of Haskell: Being lazy with class}, 
    booktitle = {In Proceedings of the 3rd ACM SIGPLAN Conference on History of Programming Languages (HOPL-III}, 
    year = {2007}, 
    pages = {1--55}, 
    publisher = {ACM Press} 
} 
+0

ऐसा लगता है वर्तमान में लिखित जानकारी का सबसे अच्छा स्रोत है - और निश्चित रूप से, यह अन्य कारणों के लिए भी एक दिलचस्प पठन है। तो मैं इस जवाब को स्वीकार करने जा रहा हूँ। – MathematicalOrchid

10

संदर्भ सरगनाओं देता है उत्कृष्ट है और जब यह समाप्त हो जाती है अप करने के लिए आधिकारिक। मेरे सिर के ऊपर से कुछ चीजें यहां दी गई हैं - जिसमें चीजों में शामिल चीजें शामिल हैं और साथ ही चीजें जो आधिकारिक तौर पर spec में नहीं हैं, लेकिन जिन्हें मैं जीएचसी के गैर-प्रयोगात्मक हिस्सों पर विचार करता हूं, अन्य कंपाइलर भी अक्सर लक्ष्य रखते हैं प्रदान करें। इसमें टाइपक्लास और अन्य सुविधाएं भी शामिल हैं जिन्हें हम मानक मानते हैं लेकिन जो हमेशा ऐसा नहीं होते थे, लेकिन जो पूरी तरह से पुस्तकालयों के रूप में मौजूद हो सकते हैं।

  • श्रेणीबद्ध मॉड्यूल
  • monads
  • आईओ इकाई
  • Do अंकन
  • विदेश समारोह इंटरफ़ेस
  • मल्टी पैरामीटर प्रकार कक्षाएं
  • अनिश्चित अपवाद
  • typeable और डाटा
  • एक्सटेंसिबल अपवाद
  • कार्यात्मक निर्भरता
  • प्रकार कार्य
  • समवर्ती हास्केल
  • एसटीएम
  • GADTs
  • महान Monomorphism तबाही (अर्थात इकाई comprehensions, सूचियों के लिए विशेष नक्शा, आदि)
  • अनुप्रयोगी और traversable के नुकसान
  • तीर/ऐरो संकेतन
  • MonadFix
+0

ध्यान दें कि कई एचओपीएल पेपर में हैं: 8.2.1 पदानुक्रमित मॉड्यूल नाम; 8.1 विदेशी समारोह इंटरफ़ेस; 7.2 मोनाड्स; 7.3 मोनाडिक I/O; 7.4 बाद के विकास (एसटीएम, अपवाद अपवाद; आदि)। 6.7 जीएडीटी। एचओपीएल पेपर बाहर आने के बाद से परिवारों को टाइप करें जो मुझे लगता है कि मुख्य रूप से नई बात हो सकती है। –

+0

हाहा हाँ, मुझे यकीन है कि पेपर है जहां मुझे अपनी कालक्रम का एक उचित हिस्सा मिला है ... – sclv

+5

ग्रेट मोनोमोर्फिज्म आपदा :) कम से कम हमारे पास ghc में वापस monad समझ है। –

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