আমি হাস্কেলের অ্যাপ্লিকেশনস শিখছি। আমার কাছে মনে হচ্ছে (আমি সম্ভবত ভুল) pureফাংশনটি সত্যই প্রয়োজন হয় না, উদাহরণস্বরূপ:
pure (+) <*> [1,2,3] <*> [3,4,5]
হিসাবে লেখা যেতে পারে
(+) <$> [1,2,3] <*> [3,4,5]
pureফাংশনটি সুস্পষ্ট ম্যাপিংয়ের মাধ্যমে যে সুবিধাটি সরবরাহ করে তা কেউ ব্যাখ্যা করতে পারেন fmap?
pureআবেদনকারী গণনার ক্ষেত্রে একজনকে "শুদ্ধ" মান ব্যবহার করার অনুমতি দেয়। আপনি যেমনটি সঠিকভাবে পর্যবেক্ষণ করেছেন ঠিক তেমনই, pure f <*> xযেমনটি f <$> xবলুন, এর মতো কোনও সমতুল্য নেই f <*> x <*> pure y <*> z। (কমপক্ষে আমি এটি মনে করি না))
Monoidশ্রেণীর সাথে ঘনিষ্ঠভাবে সম্পর্কিত - যার pureসাথে Monoidপরিচয় উপাদানটির সাথে মিল রয়েছে । (এটি পরামর্শ দেয় যে Applicativeএটি pureআকর্ষণীয় হতে পারে, যেহেতু Semigroup- যা Monoidঅগত্যা একটি পরিচয় না থাকা - এটি এখনও ব্যবহৃত হয় Act বাস্তবিকই, এখন আমি এটি সম্পর্কে চিন্তা করি, আমি মনে করি মনে করি পিওরস্ক্রিপ্টের ঠিক এমন "প্রয়োগকারী ছাড়াই pure" শ্রেণি রয়েছে, যদিও আমি ডন করি না এটি কীসের জন্য ব্যবহৃত হয়েছে তা জানেন না))
fmap (\f' x' z' -> f' x' y z') f <*> x <*> z, আমার মনে হয়। ধারণাটি Applicative"ইন্টারচেঞ্জ" এর আইন হিসাবে নথিভুক্ত রয়েছে।
pure f <*> xঠিক যেমন হয়fmap f x। আমি নিশ্চিত যে এরpureঅন্তর্ভুক্ত হওয়ার কিছু কারণ রয়েছেApplicativeতবে আমি কেন তা সম্পূর্ণরূপে নিশ্চিত নই।