हग्स (दुभाषिया): Difference between revisions

From Vigyanwiki
(Created page with "{{Short description|Haskell compiler}} {{Infobox Software |name = Hugs 98 |developer = Mark P. Jones, others |latest_release_version = September 2006 |latest_release_date...")
 
No edit summary
Line 13: Line 13:
}}
}}
{{Portal|Free and open-source software}}
{{Portal|Free and open-source software}}
हग्स (''हास्केल यूजर गोफर सिस्टम''), जिसे हग्स 98 भी कहा जाता है, [[कार्यात्मक प्रोग्रामिंग]] [[प्रोग्रामिंग भाषा]] [[हास्केल (प्रोग्रामिंग भाषा)]] के लिए एक [[बाइट-कोड]] [[ दुभाषिया (कंप्यूटिंग) ]] है। हग्स गोफ़र ([[सॉफ़्टवेयर]]) का उत्तराधिकारी है, और मूल रूप से गोफ़र संस्करण 2.30बी से लिया गया था।<ref name="Hugs FAQ">{{cite web|url=http://www.haskell.org/hugs/pages/users_guide/faq.html|title=आलिंगन के बारे में अक्सर पूछे जाने वाले प्रश्न|access-date=2006-08-04}}</ref> हग्स और गोफ़र मूल रूप से मार्क पी. जोन्स द्वारा विकसित किए गए थे, जो अब [[पोर्टलैंड स्टेट यूनिवर्सिटी]] में प्रोफेसर हैं।
हग्स (''हास्केल यूजर गोफर सिस्टम''), जिसे हग्स 98 भी कहा जाता है, [[कार्यात्मक प्रोग्रामिंग|कार्यात्मक]] [[प्रोग्रामिंग भाषा]] [[हास्केल (प्रोग्रामिंग भाषा)]] के लिए एक [[बाइट-कोड]] [[ दुभाषिया (कंप्यूटिंग) ]] है। हग्स गोफ़र ([[सॉफ़्टवेयर]]) का उत्तराधिकारी है, और मूल रूप से गोफ़र संस्करण 2.30बी से लिया गया था।<ref name="Hugs FAQ">{{cite web|url=http://www.haskell.org/hugs/pages/users_guide/faq.html|title=आलिंगन के बारे में अक्सर पूछे जाने वाले प्रश्न|access-date=2006-08-04}}</ref> हग्स और गोफ़र मूल रूप से मार्क पी. जोन्स द्वारा विकसित किए गए थे, जो अब [[पोर्टलैंड स्टेट यूनिवर्सिटी]] में प्रोफेसर हैं।


हग्स एक साधारण ग्राफ़िक्स लाइब्रेरी के साथ आता है। संपूर्ण हास्केल कार्यान्वयन के रूप में जो पोर्टेबिलिटी (सॉफ़्टवेयर) है और स्थापित करने में आसान है, हग्स को कभी-कभी नए हास्केल उपयोगकर्ताओं के लिए अनुशंसित किया जाता है।
हग्स एक साधारण ग्राफ़िक्स लाइब्रेरी के साथ आता है। संपूर्ण हास्केल कार्यान्वयन के रूप में जो पोर्टेबिलिटी (सॉफ़्टवेयर) है और स्थापित करने में आसान है, हग्स को कभी-कभी नए हास्केल उपयोगकर्ताओं के लिए अनुशंसित किया जाता है।


हग्स हास्केल 98 विनिर्देशन से विचलित है<ref name="Revised report">{{cite web|url=http://haskell.org/onlinereport/|title=Haskell 98 Language and Libraries: The Revised Report|access-date=2006-08-03|date=December 2002|author=Simon Peyton Jones (editor)|author-link=Simon Peyton Jones}}</ref> कई छोटे तरीकों से.<ref>{{cite web|url=http://www.haskell.org/hugs/pages/users_guide/haskell98.html#BUGS-HASKELL98|title=Haskell 98 non-compliance|work=The Hugs 98 User's Guide|access-date=2006-08-04}}</ref> उदाहरण के लिए, हग्स परस्पर पुनरावर्ती मॉड्यूल का समर्थन नहीं करता है। मतभेदों की एक सूची मौजूद है.<ref>{{cite web|url=http://www.haskell.org/hugs/pages/hugsman/diffs.html|title=List of differences with H98 standard}}</ref>
हग्स कई छोटे तरीकों से हास्केल 98 विनिर्देशन <ref name="Revised report">{{cite web|url=http://haskell.org/onlinereport/|title=Haskell 98 Language and Libraries: The Revised Report|access-date=2006-08-03|date=December 2002|author=Simon Peyton Jones (editor)|author-link=Simon Peyton Jones}}</ref> से विचलित होता है।<ref>{{cite web|url=http://www.haskell.org/hugs/pages/users_guide/haskell98.html#BUGS-HASKELL98|title=Haskell 98 non-compliance|work=The Hugs 98 User's Guide|access-date=2006-08-04}}</ref> उदाहरण के लिए, हग्स परस्पर पुनरावर्ती मॉड्यूल का समर्थन नहीं करता है। मतभेदों की एक सूची उपस्थित है.<ref>{{cite web|url=http://www.haskell.org/hugs/pages/hugsman/diffs.html|title=List of differences with H98 standard}}</ref>
 
हग्स प्रॉम्प्ट (एक हास्केल रीड-इवल-प्रिंट लूप) मूल्यांकन के लिए अभिव्यक्ति स्वीकार करता है, लेकिन मॉड्यूल, प्रकार या फ़ंक्शन परिभाषाओं को नहीं। हग्स स्टार्ट-अप पर हास्केल मॉड्यूल लोड कर सकते हैं।<ref>{{cite web|url=http://www.haskell.org/hugs/pages/users_guide/module-commands.html
हग्स प्रॉम्प्ट (एक हास्केल रीड-इवल-प्रिंट लूप) मूल्यांकन के लिए अभिव्यक्ति स्वीकार करता है, लेकिन मॉड्यूल, प्रकार या फ़ंक्शन परिभाषाओं को नहीं। हग्स स्टार्ट-अप पर हास्केल मॉड्यूल लोड कर सकते हैं।<ref>{{cite web|url=http://www.haskell.org/hugs/pages/users_guide/module-commands.html
|title=Loading and editing Haskell module files
|title=Loading and editing Haskell module files
|work=The Hugs 98 User's Guide
|work=The Hugs 98 User's Guide
|access-date=2006-08-04}}</ref>
|access-date=2006-08-04}}</ref>
== उदाहरण ==
== उदाहरण ==


Line 68: Line 67:
</syntaxhighlight>
</syntaxhighlight>
भाषा एक्सटेंशन सक्रिय करने के लिए H98 संगतता के साथ चलना बंद कर दिया गया है:<ref>{{cite web|url=http://www.haskell.org/hugs/pages/users_guide/options.html#OPTIONS-LANGUAGE|title=आलिंगन का व्यवहार बदलना|website=www.haskell.org}}</ref>
भाषा एक्सटेंशन सक्रिय करने के लिए H98 संगतता के साथ चलना बंद कर दिया गया है:<ref>{{cite web|url=http://www.haskell.org/hugs/pages/users_guide/options.html#OPTIONS-LANGUAGE|title=आलिंगन का व्यवहार बदलना|website=www.haskell.org}}</ref>
<पूर्व>
<पूर्व>
रनहग्स -98 टेस्ट.एचएस
रनहग्स -98 टेस्ट.एचएस
</पूर्व>
</पूर्व>


Line 75: Line 77:


{{reflist}}
{{reflist}}


== बाहरी संबंध ==
== बाहरी संबंध ==
* {{official website|http://www.haskell.org/hugs}}
* {{official website|http://www.haskell.org/hugs}}
[[Category: नि:शुल्क हास्केल कार्यान्वयन]] [[Category: बीएसडी लाइसेंस का उपयोग करने वाला सॉफ़्टवेयर]]  
[[Category: नि:शुल्क हास्केल कार्यान्वयन]] [[Category: बीएसडी लाइसेंस का उपयोग करने वाला सॉफ़्टवेयर]]  

Revision as of 10:32, 4 August 2023

Hugs 98
Developer(s)Mark P. Jones, others
Final release
September 2006 / September 21, 2006 (2006-09-21)
Operating systemCross-platform
PredecessorGofer
TypeCompiler
LicenseBSD
Websitewww.haskell.org/hugs/

हग्स (हास्केल यूजर गोफर सिस्टम), जिसे हग्स 98 भी कहा जाता है, कार्यात्मक प्रोग्रामिंग भाषा हास्केल (प्रोग्रामिंग भाषा) के लिए एक बाइट-कोड दुभाषिया (कंप्यूटिंग) है। हग्स गोफ़र (सॉफ़्टवेयर) का उत्तराधिकारी है, और मूल रूप से गोफ़र संस्करण 2.30बी से लिया गया था।[1] हग्स और गोफ़र मूल रूप से मार्क पी. जोन्स द्वारा विकसित किए गए थे, जो अब पोर्टलैंड स्टेट यूनिवर्सिटी में प्रोफेसर हैं।

हग्स एक साधारण ग्राफ़िक्स लाइब्रेरी के साथ आता है। संपूर्ण हास्केल कार्यान्वयन के रूप में जो पोर्टेबिलिटी (सॉफ़्टवेयर) है और स्थापित करने में आसान है, हग्स को कभी-कभी नए हास्केल उपयोगकर्ताओं के लिए अनुशंसित किया जाता है।

हग्स कई छोटे तरीकों से हास्केल 98 विनिर्देशन [2] से विचलित होता है।[3] उदाहरण के लिए, हग्स परस्पर पुनरावर्ती मॉड्यूल का समर्थन नहीं करता है। मतभेदों की एक सूची उपस्थित है.[4]

हग्स प्रॉम्प्ट (एक हास्केल रीड-इवल-प्रिंट लूप) मूल्यांकन के लिए अभिव्यक्ति स्वीकार करता है, लेकिन मॉड्यूल, प्रकार या फ़ंक्शन परिभाषाओं को नहीं। हग्स स्टार्ट-अप पर हास्केल मॉड्यूल लोड कर सकते हैं।[5]

उदाहरण

एक्स्टेंसिबल रिकॉर्ड

एक्स्टेंसिबिलिटी के साथ टाइप किए गए रिकॉर्ड का एक उदाहरण, हग्स के लिए अद्वितीय एक गैर मानक सुविधा।[6]

module Main where

import Hugs.Trex

type Coord = Double
type Point2D = Rec (x::Coord, y::Coord) 
type Point3D = Rec (x::Coord, y::Coord, z::Coord) 

point2D = (x=1, y=1) :: Point2D

-- emptyRec :: Rec EmptyRow  -- predefined

-- (x=1 | (y=1))   -- rec. extension
-- (x=v | rec)     -- record value decomposition, pattern fields must be non empty
-- (x::type | rec)   -- record type decomposition

-- (rec\z) in the context means ''rec'' does not contain field ''z'' 

-- add a field z with the same type as field x
addZCoord :: (r\z, r\x) => t -> Rec ( x::t | r) -> Rec ( x::t, z::t | r)
addZCoord z ( x = x | other) = (x = x, z = z | other)

point3D = addZCoord 3 point2D   -- :: Point3D

-- admit any record with ''showable'' fields x and y 
printXY :: (Show t, r\x, r\y) => Rec (x::t, y::t | r) -> IO ()
printXY point = putStrLn xy
  -- with SML style field accessors ('#' prefix)
  where xy = show (#x point) ++", "++ show (#y point) 

incrementX :: (Num t, r\x) => Rec (x::t | r) -> Rec (x::t | r)
incrementX  (x=v | rest) = (x=v+1 | rest)

main = do
  let point3D' = incrementX point3D
  printXY point2D
  printXY point3D'

भाषा एक्सटेंशन सक्रिय करने के लिए H98 संगतता के साथ चलना बंद कर दिया गया है:[7]

<पूर्व>

रनहग्स -98 टेस्ट.एचएस

</पूर्व>

संदर्भ

  1. "आलिंगन के बारे में अक्सर पूछे जाने वाले प्रश्न". Retrieved 2006-08-04.
  2. Simon Peyton Jones (editor) (December 2002). "Haskell 98 Language and Libraries: The Revised Report". Retrieved 2006-08-03. {{cite web}}: |author= has generic name (help)
  3. "Haskell 98 non-compliance". The Hugs 98 User's Guide. Retrieved 2006-08-04.
  4. "List of differences with H98 standard".
  5. "Loading and editing Haskell module files". The Hugs 98 User's Guide. Retrieved 2006-08-04.
  6. "आलिंगन-विशिष्ट भाषा एक्सटेंशन". www.haskell.org.
  7. "आलिंगन का व्यवहार बदलना". www.haskell.org.

बाहरी संबंध