আমি 48 ঘন্টা ( নিজেকে প্রায় 85 ঘন্টা পর্যন্ত) স্ক্রাইট লিখনের মাধ্যমে কাজ করছি এবং আমি ভেরিয়েবল এবং অ্যাসাইনমেন্ট যুক্ত করার অংশটি পেয়েছি । এই অধ্যায়ে একটি বৃহত্তর ধারণাগত লাফ রয়েছে, এবং আমি আশা করি এটি দুটি ধাপে একটি ভাল রিফ্যাক্টরিংয়ের সাথে করা হয়েছে বরং তারপরে সরাসরি চূড়ান্ত সমাধানে ঝাঁপিয়ে পড়ে। যাইহোক ...
আমি যে একই উদ্দেশ্য পরিবেশন বলে মনে হচ্ছে বিভিন্ন শ্রেণীর একটি নম্বর হারালেন অর্জিত করেছি: State
, ST
, IORef
, এবং MVar
। প্রথমটি তিনটিতে লেখায় উল্লেখ করা হয়েছে, যদিও শেষটি প্রথম তিনটি সম্পর্কে স্ট্যাকওভারফ্লো প্রশ্নের অনেক পক্ষে অনুকূল উত্তর বলে মনে হচ্ছে। তারা সবাই মনে হয় একটানা অনুরোধের মধ্যে একটি রাষ্ট্র বহন করে।
এগুলির প্রত্যেকটি কী এবং কীভাবে তারা একে অপরের থেকে পৃথক হয়?
বিশেষত এই বাক্যগুলি বোঝায় না:
পরিবর্তে, আমরা রাষ্ট্র থ্রেড নামে একটি বৈশিষ্ট্য ব্যবহার করি , যা হাস্কেলকে আমাদের জন্য সমষ্টিগত অবস্থা পরিচালনা করতে দেয়। এটি আমাদের পরিবর্তনশীল ভেরিয়েবলগুলি যেমন ভেরিয়েবলগুলি পেতে বা সেট করতে ফাংশনগুলি ব্যবহার করে অন্য কোনও প্রোগ্রামিং ভাষায় করতে পারে তেমন আচরণ করতে দেয়।
এবং
আইওরিফ মডিউল আপনাকে আইও মোনাডের মধ্যে রাষ্ট্রীয় পরিবর্তনশীলগুলি ব্যবহার করতে দেয় ।
এই সব লাইন type ENV = IORef [(String, IORef LispVal)]
গুলিয়ে তোলে - দ্বিতীয় কেন IORef
? type ENV = State [(String, LispVal)]
পরিবর্তে লিখলে কী ভাঙবে ?