TL; ড; টাইপ ধারাবাহিকতায় উপর সর্বোচ্চ বিমূর্ততা হয়
একটি ধারাবাহিকতা হল এর ইনপুট এবং আউটপুটগুলির ধরণ
কোনও প্রক্রিয়াবিহীন ভিত্তিক ধারাবাহিকতার জন্য আপনি সর্বাধিক নিকটতম জিনিসটি খুঁজে পাবেন সম্ভবত হ্যাসকেলে এটি একটি ধরণের হিসাবে প্রকাশিত হওয়ার ধারাবাহিকতা মোনাড , যার জন্য বাধা, পুনরায় শুরু, ব্যাকট্র্যাক এবং এট আল টাইপের সাথে ইন্টারঅ্যাক্ট করতে অনেক ফাংশন ব্যবহার করা যেতে পারে।
আপনি এই ক্লোজারটিকে এমন এক ধরণের কাছে আবদ্ধ করতে পারেন যেমন Cont
হাস্কেল টাইপের যেখানে আপনি "উচ্চ স্তরের বিমূর্তি" হিসাবে মনড বিমূর্তিটি পেয়ে থাকেন, এবং ধারাবাহিকতার দিকে প্রকারের পরিবর্তে প্রকারের দিকে তাকালে আপনি যে ধারাবাহিকতা পেয়ে থাকেন তার বিপরীতে বিমূর্তির অন্যান্য রূপ রয়েছে get উদাহরণস্বরূপ কেবল একটি পদ্ধতি
- আপনি দুটি ধারাবাহিকতা নিতে পারেন এবং এগুলির মধ্যে একটি বিকল্প করতে পারেন যদি ধরণটি মাইওয়েড হিসাবে আইন অনুসরণ করে
- ধারাবাহিকতার ইনপুট বা আউটপুট ধরণের পরিবর্তন করতে আপনি এ ধরণের বিমূর্ততা ফেলতে পারেন যদি আপনি কোনও ফান্টারের আইন মেনে এমন কোনও প্রকারে বন্ধকে আবদ্ধ করেন
- যদি আপনি কোনও আবেদনকারী ফান্টারের আইন অনুসরণ করে এমন কোনও প্রকারে বন্ধকে আবদ্ধ করেন তবে আপনি নির্বিচারে এবং আংশিকভাবে কার্যকারিতা যেমন ইনপুট বৈধতা বা ইনপুট রূপান্তর হিসাবে আপনার ধারাবাহিকতা প্রয়োগ বা সাজাতে পারেন
বন্ধ বনাম প্রক্রিয়া
দিনের শেষে আপনি মূলত সঠিক; ধারাবাহিকতা একটি "পদ্ধতি", যদিও আমি এটিকে বন্ধ হিসাবে উল্লেখ করি। প্রায়শই বারের ধারাবাহিকতাটি প্রথম শ্রেণীর সমাপনী হিসাবে সর্বোত্তমভাবে প্রকাশ করা হয় যা একটি আবদ্ধ পরিবেশ আবদ্ধ। খাঁটি কার্যকরী ভাষায় আপনি বলতে পারেন এটি বিশেষভাবে যুক্তিসঙ্গত নয় কারণ আপনার উল্লেখের অভাব রয়েছে; এটি সত্য তবে আপনি মানগুলি বদ্ধ করতে পারেন এবং একক অ্যাসাইনমেন্ট মানটিকে বনাম তৈরি করে তোলে the রেফারেন্সটি ঠিক একই জিনিস। এটি হাস্কেলের মধ্যে জন্ম দেয়:
(\x -> \y -> insideYIcanAccess x (and y))
যে ভাষায় বাধ্যতামূলক পরিবেশ আবদ্ধ করার দক্ষতার অভাব রয়েছে তা প্রযুক্তিগতভাবে প্রথম শ্রেণির বন্ধের অভাব হতে পারে তবে তারপরেও কিছু পরিবেশ রয়েছে (সাধারণত বিশ্বব্যাপী) যা বন্ধের জন্য উপলব্ধ।
সুতরাং আমি বলব এটির ধারাবাহিকতাটি বর্ণনা করা আরও নির্ভুল: একটি বন্ধ একটি নির্দিষ্ট উপায়ে ব্যবহৃত হচ্ছে।
উপসংহার
"একটি ধারাবাহিকতা কি কোনও প্রক্রিয়া বাদে অন্য কোনও উপায়ে কার্যকর করা যায়?" এই প্রশ্নের প্রশ্নে না। যদি আপনার প্রথম শ্রেণীর ফাংশন না থাকে তবে আপনার সত্যিকারের মতো ধারাবাহিকতা থাকতে পারে না (হ্যাঁ ফাংশন পয়েন্টারগুলি প্রথম শ্রেণির ফাংশন হিসাবে গণনা করা হয়, তাই বিকল্পভাবে স্বেচ্ছাসেবী মেমরি অ্যাক্সেস যথেষ্ট)।
এখন " প্রশ্নবিধি ছাড়া কি আরও বিমূর্ত পদ্ধতিতে ধারাবাহিকতা প্রকাশ করার কোনও উপায় আছে?" এটিকে কোনও ধরণের হিসাবে প্রকাশ করা আপনাকে আরও বৃহত্তর বিমূর্ততা দেয়, আপনাকে ধারাবাহিকতাটিকে খুব সাধারণ উপায়ে আচরণ করার অনুমতি দেয় যাতে আপনি এটি চালিয়ে যাওয়ার চেয়ে আরও অনেক উপায়ে ধারাবাহিকতার সাথে ইন্টারঅ্যাক্ট করতে পারেন।