কেউ কি আমাকে পিসিএফ-এ ধারাবাহিকতার মডুলাসের কার্যকারিতা অ-নিশ্চিত করার জন্য রেফারেন্সের দিকে নির্দেশ করতে পারেন? \ newcommand {ool bool} \ \ mathsf {bool}
আন্দ্রেজ বাউর একটি খুব সুন্দর ব্লগ পোস্ট লিখেছেন কিছু বিষয় নিয়ে আরও বিস্তারিতভাবে অনুসন্ধান করে, তবে আমি এই প্রশ্নের কিছুটা প্রসঙ্গ ধার্য করার জন্য তার পোস্টের কিছুটা সংক্ষেপ করে বলব। বায়ার স্পেস হ'ল প্রাকৃতিক সংখ্যা অনুক্রমের সেট, বা সমানভাবে প্রাকৃতিক থেকে প্রাকৃতিক \ N \ থেকে \ N পর্যন্ত ফাংশনের সেট । এই প্রশ্নের জন্য, আমরা কেবল মনোযোগ কেবল স্ট্রিমগুলিতে সীমাবদ্ধ করব যা গণনাযোগ্য।
এখন, একটি ফাংশন অব্যাহত থাকে যদি প্রতিটি জন্য থাকে , এর মান কেবলমাত্র এর উপাদানগুলির একটি সীমাবদ্ধ সংখ্যার উপর নির্ভর করে , এবং যদি আমরা আসলে একটি উচ্চতর গুণতে পারি তবে এটি গতিতে অবিচ্ছিন্ন থাকে এর কতগুলি উপাদান প্রয়োজন তার উপর আবদ্ধ । গণনার কয়েকটি মডেলগুলিতে, একটি প্রোগ্রাম লিখতে আসলে সম্ভব হয় যা বায়ার স্পেসে একটি গণনীয় ফাংশন এবং বায়ার স্পেসের একটি উপাদান গ্রহণ করে, এবং স্ট্রিমের উপাদানগুলির সংখ্যার উপরের সীমাটি ফিরিয়ে দেয়। x s ∈ B f ( x s ) x s x s m o d u l u s : ( B → b o o l ) → B → N
এটি বাস্তবায়নের জন্য একটি কৌশল হ'ল স্রোতে সর্বাধিক সূচকটি রেকর্ড করতে স্থানীয় স্টোরেজ ব্যবহার করা:
let modulus f xs =
let r = ref 0 in
let ys = fun i -> (r := max i !r; xs i) in
f ys;
!r
অবশ্যই, ys
যুক্তিটি আর কোনও খাঁটি কার্যকরী প্রোগ্রাম নয়। এই প্রোগ্রামে আমার আগ্রহটি এই বিষয় থেকে এসেছে যে এটি কেবলমাত্র স্থানীয় স্টোর ব্যবহার করে এবং তাই এটি এক্সটেনসিয়ালি খাঁটি। আমি (অন্যান্য জিনিসের মধ্যে) উচ্চ-অর্ডার অত্যাবশ্যক প্রোগ্রামিংয়ে কাজ করি এবং এমন ধরণের তত্ত্বগুলি ডিজাইন করছি যা এটি খাঁটি ফাংশন হিসাবে শ্রেণিবদ্ধ করতে পারে।
এছাড়াও আরও ব্যবহারিক উদাহরণ রয়েছে, স্মৃতিচারণ ও সংযোগ পুলিংয়ের মতো বিষয়গুলির সাথে জড়িত, তবে আমি এটি একটি বিশেষ উদাহরণ হিসাবে পেয়েছি।