@ কার্লবিলিফেল্ড দ্বারা উল্লিখিত হিসাবে, এই জাতীয় সমস্যার কার্যকরী পন্থা হ'ল এটিকে আগের অবস্থা থেকে নতুন রাষ্ট্র ফিরিয়ে দেওয়া হিসাবে দেখা। ফাংশন নিজেদের যাতে সর্বদা সেগুলির রাষ্ট্র আপডেট হবে কোন তথ্য রাখা না, মি অবস্থায় এন ।
আমি মনে করি আপনি এটি অদক্ষ বলে মনে করেন কারণ আপনি ধরে নিয়েছেন যে নতুন রাজ্যটি গণনা করার সময় পূর্ববর্তী অবস্থা স্মৃতিতে রাখতে হবে । লক্ষ্য করুন যে সম্পূর্ণ নতুন রাষ্ট্র লেখার বা পুরানো স্থানে পুনরায় লেখার মধ্যেকার পছন্দটি কার্যকরী ভাষার দৃষ্টিকোণ থেকে বাস্তবায়নের বিশদ ।
উদাহরণস্বরূপ, বলুন আমার কাছে দশ মিলিয়ন পূর্ণসংখ্যার একটি তালিকা রয়েছে এবং দশমকে একক দ্বারা বৃদ্ধি করতে চাই। দশম স্থানে নতুন নম্বর দিয়ে পুরো তালিকাটি অনুলিপি করা অপব্যয়, আপনি ঠিক বলেছেন; তবে এটি কেবলমাত্র ভাষা সংকলক বা দোভাষীর কাছে ক্রিয়াকলাপটি বর্ণনা করার ধারণামূলক উপায়। সংকলক বা দোভাষা প্রথম তালিকা নিতে এবং কেবল দশম অবস্থানটি ওভাররাইট করতে বিনামূল্যে to
এই পদ্ধতিতে অপারেশনটি বর্ণনা করার সুবিধাটি হ'ল সংকলক পরিস্থিতি সম্পর্কে যুক্তি জানাতে পারে যখন অনেক থ্রেড একই পজিশনে বিভিন্ন অবস্থানে একই তালিকা আপডেট করতে চায়। যদি অপারেশনটিকে "এই অবস্থানে যান এবং যা আবিষ্কার করেন সেগুলি ওভাররাইট" হিসাবে বর্ণনা করা হয়, তবে এটি প্রোগ্রামার নয়, সংকলক নয়, যে ওভাররাইটগুলি সংঘর্ষে না যায় তা নিশ্চিত করার দায়িত্বে নিয়োজিত কে।
যা কিছু বলা হয়েছিল, তা এমনকি হাস্কেলের মধ্যে এমন একটি রাষ্ট্রীয় মনড রয়েছে যা পরিস্থিতিগুলির মডেল করতে সহায়তা করে যেখানে "রাষ্ট্র বজায় রাখা" একটি সমস্যার আরও স্বজ্ঞাত সমাধান। কিন্তু কিছু সমস্যা লক্ষ্য করুন আপনি এটি " মজ্জাগতভাবে stateful, একটি ডাটাবেস লিখিতভাবে মত " have Datomic মত অপরিবর্তনীয় সমাধান । এটি অবাক করে দেওয়া অবধি অবধি অবধি বোঝা যাচ্ছে না যে এটি একটি ধারণা, এটি উপলব্ধি করার দরকার নেই।