2012-07-08 18 views
5

मैं समझने की कोशिश कर रहा हूं कि यसोड से निम्नलिखित प्रकार का समानार्थी क्या कर रहा है।हास्केल प्रकार समानार्थी

type HtmlUrlI18n msg url = Translate msg -> Render url -> Html

मैं में एक उदाहरण नहीं मिल सकता है आप कुछ Haskell या -> वर्तमान के साथ एक प्रकार का पर्याय की Haskell wikibook सीखते हैं। किसी भी लिंक या स्पष्टीकरण की बहुत सराहना की जाती है। धन्यवाद।

+9

यह फ़ंक्शन प्रकार के लिए सिर्फ समानार्थी है। –

+3

हर जगह आप 'HtmlUrlI18n msg url' देखते हैं, इसे' अनुवाद msg -> रेंडर यूआरएल -> एचटीएमएल 'के साथ बदलें। – sdcvvc

+0

बिल्ली ने जो कहा, उसे जोड़ने के लिए: ऐसा इसलिए किया गया है क्योंकि सही हाथ प्रकार हस्ताक्षर थोड़ा अनावश्यक है, और शायद याद रखना मुश्किल है। मान लें कि आपके पास एक ऐसा फ़ंक्शन है जो 'अनुवाद संदेश -> यूआरएल -> एचटीएमएल को कई तर्कों में से एक के रूप में प्रस्तुत करता है। यह जल्दी से अपठनीय और शायद अस्पष्ट हो जाता है, जबकि इसे 'HtmlUrlI18n msg url' लेना बहुत बेहतर होता है। – gspr

उत्तर

4

यह सिर्फ एक (लम्बाई लिखने के लिए) के लिए समानार्थी है। उदाहरण के लिए, निम्नलिखित मान्य होना चाहिए Haskell

--Example of a function type synonym 
type StrFn = String -> String 

foo :: StrFn 
foo s = s ++ "!" 

--Example of a function type synonym with type parameters 
type Fn a = a -> a 

bar :: Fn String 
bar s = s ++ "?" 
+0

आपके उत्तरों के लिए सभी को बहुत बहुत धन्यवाद। बहुत उपयोगी। – David

+0

@ डेविड: एक उत्तर को स्वीकृत के रूप में चिह्नित करना न भूलें, इसलिए सवाल अनुत्तरित टैब छोड़ देता है। यदि आप चाहें तो आप स्वयं का उत्तर भी लिख सकते हैं। – hugomg

+0

धन्यवाद। मैंने उसे किया। – David

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