2013-09-24 6 views
5

मैं इकाई functor/इकाईक्या हास्केल पैकेज में यूनिट फ़ैक्टर/मोनड है?

data Unit a = Unit 

मैं आसानी से इसे पुन: हो सकता है के लिए देख रहा हूँ, लेकिन मैं नहीं बल्कि कुछ इस बुनियादी नकल नहीं चाहते हैं। यह श्रेणी-अतिरिक्त पैकेज (http://hackage.haskell.org/packages/archive/category-extras/0.1/doc/html/Control-Functor.html) में Control.Functor में रहने के लिए प्रयोग किया जाता था। मैं इसे Hoogle साथ नहीं मिल सकता है, या जहां के नक्शे में की श्रेणी-अतिरिक्त टुकड़े रहने चला गया (http://hackage.haskell.org/package/category-extras-1.0.2)

ऐसा लगता है जैसे कि यह ट्रांसफार्मर पैकेज में रहना चाहिए, क्योंकि ऐसा करना है जहां Control.Monad.Identity चला गया (अब यह है Data.Functor.Identity)।

निकटतम मौजूदा पुस्तकालय कोड मैं के साथ आ सकते हैं

type Unit a = Constant() a 
ट्रांसफार्मर पैकेज से

का उपयोग कर Data.Functor.Constant है।

उत्तर

8

Proxy प्रकार आप जो भी कर रहे हैं वह हो सकता है।

+1

उत्कृष्ट, यह वही है जो मैं बाद में हूं; आपका बहुत बहुत धन्यवाद। यह मेरे लिए नहीं हुआ कि 'डेटा यूनिट ए = यूनिट' वही बात है जो मैं प्रॉक्सी के लिए लिखता हूं, 'डेटा प्रॉक्सी ए = ए'। यह आश्चर्यजनक होगा अगर होगल 'डेटा' घोषणाओं को उसी तरह खोज सकता है जैसे वह फ़ंक्शन हस्ताक्षर खोजता है। – Cirdec

+1

बेशक, मेरा मतलब था 'डेटा प्रॉक्सी ए = प्रॉक्सी' टाइप करना। – Cirdec

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