আমি কল্পনা করি যে সাধারণ আবশ্যক ভাষার জন্য অনেক সংকলক প্রয়োগকারী কেবল সিপিএস এবং সিপিএস-ভিত্তিক সংকলনের কৌশলগুলির সাথে পরিচিত ছিল না। ক্রিয়ামূলক প্রোগ্রামিং সম্প্রদায়ে সিপিএস এবং সিপিএস-ভিত্তিক সংকলন উভয়ই খুব সুপরিচিত প্রযুক্তি - গাই স্টিলের কাজ থেকে প্রাপ্ত। তবুও, এফপি সম্প্রদায়েও, বেশিরভাগ সংকলক সংকলনের জন্য সিপিএস-ভিত্তিক কৌশল ব্যবহার করেন না যতক্ষণ না ভাষা নিজেই কন্ট্রোল অপারেটরদের সমর্থন করে call/cc
। অ্যাডমিনিস্ট্রেটিভ নরমাল ফর্ম (এএনএফ) এর মতো আরও কিছু (কখনও কখনও মোনাডিক নরমাল ফর্মও বলা হয় যা ঘনিষ্ঠভাবে সম্পর্কিত কারণগুলির সাথে স্পষ্ট হয়ে উঠবে সম্পর্কিত) ব্যবহৃত হয় যা সিপিএসের চেয়ে এসএসএর সাথে আরও কঠোর সম্পর্কযুক্ত ।
যদি আমি সঠিকভাবে মনে রাখি তবে প্রশাসনিক স্বাভাবিক ফর্মটির নামটি এই সত্যটি থেকে পেয়ে যায় যে সিপিএস-ভিত্তিক সংকলন মধ্যবর্তী কোডে বিটা-রেডেক্সেসের দিকে নিয়ে যেতে পারে যা উত্স কোডের কোনও কিছুর সাথে সামঞ্জস্য নয়। এগুলিকে "অ্যাডমিনিস্ট্রেটিভ রিডেক্সস" হিসাবে উল্লেখ করা হয়েছিল। এগুলি সংকলন-সময়ে হ্রাস করতে পারে, তবে সিপিএস রূপান্তর সম্পাদন করার জন্য যথেষ্ট পরিমাণে গবেষণা ছিল যা প্রশাসনিক পুনর্নির্মাণগুলি ছাড়াই কোডটি আউটপুট দেয়। তখন লক্ষ্যটি ছিল একটি সাধারণ আকারে আউটপুট উত্পাদন করা যেখানে সমস্ত "প্রশাসনিক" পুনর্নির্মাণ হ্রাস পেয়েছিল এবং এটি প্রশাসনিক সাধারণ ফর্মের উত্স। এটিকে (ক এর একটি অপ্টিমাইজেশন) দ্বি-পদক্ষেপ প্রক্রিয়া হিসাবে দেখার পক্ষে পুরোপুরি কোনও উপকার হয়নি তা বুঝতে বেশি সময় লাগেনি: সিপিএস-রূপান্তর, প্রশাসনিক পুনঃনির্মাণকে হ্রাস করুন। নির্দিষ্টভাবে, প্রশাসনিক স্বাভাবিক ফর্মটি হ্যাশকেলে সর্বাধিক উল্লেখযোগ্যভাবে (হাতে হাতে) অনুশীলনের মতো মনাদিক স্টাইলের মতো দেখায়। সিপিএস রূপান্তরকে মোনাডিক-স্টাইলে রূপান্তর হিসাবে বোঝা যায় যেখানে আপনি কেবল সিপিএস মোনাড ব্যবহার করছেন (তাই বিভিন্ন মূল্যায়নের আদেশের সাথে সামঞ্জস্যপূর্ণ মোনাডিক-স্টাইলে "রূপান্তর" করার একাধিক উপায় রয়েছে)। সাধারণভাবে, যদিও আপনি বেশ আলাদা মোনাড ব্যবহার করতে পারেন, এবং তাই মোনাডিক-স্টাইলে রূপান্তরকরণ এবং এভাবে প্রশাসনিক সাধারণ ফর্মটি বিশেষত সিপিএসের সাথে সম্পর্কিত নয়।
তবুও, সিপিএস বনাম এএনএফ-এর কিছু সুবিধা ছিল। বিশেষত, সিপিএসে আপনি কেবলমাত্র স্ট্যান্ডার্ড অপ্টিমাইজেশানগুলি যেমন বিটা হ্রাস, যা এএনএফের জন্য অ্যাড-হক বিধি প্রয়োজনীয় (আপাতদৃষ্টিতে) দিয়ে করতে পারেন সেগুলি ছিল optim মোনাডিক দৃষ্টিকোণ থেকে, এই নিয়মগুলি আসন্ন রূপান্তরগুলির সাথে সমান। আপশটটি এখন এমন একটি তত্ত্ব রয়েছে যা ব্যাখ্যা করতে পারে যে কী বিধি যুক্ত করা উচিত এবং কেন। সাম্প্রতিক একটি গবেষণাপত্র এ সম্পর্কে একটি (নতুন এবং) সুন্দর স্পষ্ট বর্ণনা দিয়েছে (যৌক্তিক দৃষ্টিকোণ থেকে) এবং এর সম্পর্কিত কাজ বিভাগটি আমি যে বিষয়গুলি উল্লেখ করেছি তার উপর একটি সংক্ষিপ্ত তবে শালীন সমীক্ষা এবং সাহিত্যের রেফারেন্স হিসাবে কাজ করে।
সিপিএসের সমস্যাটি এর অন্যতম প্রধান উপকারে আবদ্ধ। সিপিএস রূপান্তর আপনাকে কন্ট্রোল অপারেটরগুলির মতো বাস্তবায়নের অনুমতি দেয় call/cc
, তবে এর অর্থ সিপিএস অন্তর্বর্তী কোডের প্রতিটি অ-স্থানীয় ফাংশন কলকে সম্ভাব্য নিয়ন্ত্রণ প্রভাব হিসাবে গণ্য করতে হবে। যদি আপনার ভাষাতে কন্ট্রোল অপারেটর অন্তর্ভুক্ত থাকে তবে এটি ঠিক যেমনটি হওয়া উচিত ঠিক ততক্ষণে (যদিও এর পরে বেশিরভাগ ফাংশন সম্ভবত কোনও নিয়ন্ত্রণ শেননিগানগুলি করছে না)। যদি আপনার ভাষাতে কন্ট্রোল অপারেটরদের অন্তর্ভুক্ত না করা হয় , তবে ধারাবাহিকতা ব্যবহারের ক্ষেত্রে বিশ্বব্যাপী আক্রমণকারী রয়েছে যা স্থানীয়ভাবে স্পষ্ট নয়। এর অর্থ সিপিসির এই বিশেষভাবে ব্যবহারের জন্য কার্যকর হওয়া সাধারণ সিপিএস কোডে সঞ্চালনের জন্য উপযুক্ত নয় এমন অপ্টিমাইজেশন রয়েছে। এই উপায়টি প্রকাশ করার একটি উপায় রয়েছেডেটা এবং নিয়ন্ত্রণ প্রবাহ বিশ্লেষণের নির্ভুলতার পরিবর্তন । (সিপিএস রূপান্তরটি কিছু উপায়ে সহায়তা করে, অন্যকে আঘাত করে, যদিও এটি যেভাবে সাহায্য করে সেগুলি সিপিএস দিকের চেয়ে বরং নকলের কারণে হয়।) 1 আপনি অবশ্যই এর ক্ষতিপূরণ দেওয়ার জন্য বিধিগুলি যুক্ত করতে পারেন এবং বিশ্লেষণগুলি সামঞ্জস্য করতে পারেন (অর্থাত্ শোষণের জন্য) বিশ্বব্যাপী আক্রমণকারী), তবে আপনি সিপিএস-ভিত্তিক সংকলনের অন্যতম প্রধান উপকারকে আংশিকভাবে পরাজিত করেছেন যা হ'ল বহু (আপাতদৃষ্টিতে) বিশেষ উদ্দেশ্য, অ্যাড-হক অপ্টিমাইজেশন সাধারণ-উদ্দেশ্য অপ্টিমাইজেশনের বিশেষ ক্ষেত্রে পরিণত হয় (বিশেষত বিটা হ্রাস) )।
শেষ পর্যন্ত, আপনার ভাষার নিয়ন্ত্রণ অপারেটর না থাকলে সাধারণত কোনও সিপিএস-ভিত্তিক সংকলন স্কিম ব্যবহার করার খুব বেশি কারণ নেই। আমি উপরে উল্লিখিত সমস্যাগুলির জন্য একবার আপনি ক্ষতিপূরণ দেওয়ার পরে, আপনি সাধারণত সিপিএস-ভিত্তিক সংকলনের সুবিধাগুলি সরিয়ে ফেলেছেন এবং সিপিএস ব্যবহার না করার সমতুল্য কিছু উত্পাদন করেছিলেন। এই মুহুর্তে, সিপিএস খুব সুবিধা না পাওয়ার জন্য কেবল সংশ্লেষযুক্ত মধ্যবর্তী কোড তৈরি করছে। 2007 থেকে সিপিএস-ভিত্তিক সংকলনের জন্য একটি যুক্তি এগুলির কয়েকটি বিষয়কে সম্বোধন করে এবং সিপিএস রূপান্তরটির ভিন্ন রূপ ব্যবহার করে কিছু অন্যান্য সুবিধা উপস্থাপন করে। কাগজগুলি যে জিনিসগুলি নিয়ে আসে সেগুলি আমি আগে উল্লিখিত (2017) কাগজ দ্বারা আচ্ছাদিত করা হয়েছে ।
1 এসএসএ এবং সিপিএসের মধ্যে সমতা কী এটিকে কমবেশি অসম্ভব করে তোলে? নং প্রথম জিনিস এক কাগজ এই সমানতা উপস্থাপক বলে যে সমানতা নেই না জন্য কাজ নির্বিচারে সিপিএস কোড, কিন্তু এটি একটি ভাষার জন্য একটি সিপিএস আউটপুট জন্য রুপান্তর কাজ করে (যা তারা সংজ্ঞায়িত) ছাড়া নিয়ন্ত্রণ অপারেটর।