HiLog
হাইলগ উচ্চ-ক্রমের সিনট্যাক্স সহ একটি প্রোগ্রামিং লজিক, যা প্রেডিকেট এবং ফাংশন অবস্থানে নির্বিচারে পদগুলি উপস্থিত করার অনুমতি দেয়। যাইহোক, হাইলগের মডেল তত্ত্বটি প্রথম-ক্রম। যদিও বাক্যবিন্যাসগতভাবে হাইলগ কঠোরভাবে প্রথম ক্রমের যুক্তি প্রসারিত করে, হাইলগকে এই যুক্তিতে এম্বেড করা যেতে পারে। 1989 সালে প্রথম হাইলগ বর্ণনা করা হয়। এটি পরে বহু-সাজানো যুক্তির দিকে প্রসারিত হয়েছিল। এক্স. এস. বি সিস্টেমটি হাইলগ বাক্যবিন্যাস বিশ্লেষণ করে, তবে এক্স. এস. বি-তে হাইলগের সংহতকরণ শুধুমাত্র আংশিক। বিশেষ করে, হাইলগ এক্সএসবি মডিউল সিস্টেমের সাথে একীভূত নয়। ফ্লোরা-2 ব্যবস্থায় হাইলগের একটি সম্পূর্ণ বাস্তবায়ন পাওয়া যায়। এটি দেখানো হয়েছে যে মোটামুটি সহজ রূপান্তরের মাধ্যমে হাইলগকে প্রথম-ক্রম যুক্তিতে এম্বেড করা যেতে পারে। উদাহরণস্বরূপ, পি (এক্স) (ওয়াই, জেড (ভি) (ডাব্লু)) নিম্নলিখিত প্রথম ক্রমের শব্দ হিসাবে এম্বেড করা হয়েছেঃ প্রয়োগ করুন (পি (এক্স), ওয়াই, প্রয়োগ করুন (প্রয়োগ করুন (জেড, ভি), ডাব্লু))। রুল ইন্টারচেঞ্জ ফরম্যাটের (আরআইএফ) যুক্তি-ভিত্তিক উপভাষার কাঠামো (আরআইএফ-এফএলডি) মূলত হাইলগ এবং এফ-লজিকের অন্তর্নিহিত ধারণার উপর ভিত্তি করে তৈরি। উদাহরণ নিচের সমস্ত উদাহরণে, বেশিরভাগ লজিক প্রোগ্রামিং ভাষার মতো ক্যাপিটালাইজড চিহ্নগুলি ভেরিয়েবলকে বোঝায় এবং কমা লজিক্যাল সংযোগকে বোঝায়। প্রথম এবং দ্বিতীয় উদাহরণগুলি দেখায় যে চলকগুলি প্রেডিকেট অবস্থানে উপস্থিত হতে পারে। পূর্বাভাস এমনকি জটিল পদও হতে পারে, যেমন নিচে ক্লোজার (পি) বা ম্যাপলিস্ট (এফ)। তৃতীয় উদাহরণটি দেখায় যে ভেরিয়েবলগুলি পারমাণবিক সূত্রের জায়গায়ও উপস্থিত হতে পারে, অন্যদিকে চতুর্থ উদাহরণটি ফাংশন প্রতীকগুলির জায়গায় ভেরিয়েবলগুলির ব্যবহারকে চিত্রিত করে। প্রথম উদাহরণটি একটি জেনেরিক ট্রানজিটিভ ক্লোজার অপারেটরকে সংজ্ঞায়িত করে, যা একটি নির্বিচারে বাইনারি প্রেডিকেটে প্রয়োগ করা যেতে পারে। দ্বিতীয় উদাহরণটি একই রকম। এটি একটি এল. আই. এস. পি-এর মতো ম্যাপিং অপারেটরকে সংজ্ঞায়িত করে, যা একটি নির্বিচারে বাইনারি প্রেডিকেটের ক্ষেত্রে প্রযোজ্য। তৃতীয় উদাহরণটি দেখায় যে প্রোলগ মেটা-প্রেডিকেট কল/1 একটি প্রাকৃতিক উপায়ে এবং অতিরিক্ত-যৌক্তিক বৈশিষ্ট্যগুলির ব্যবহার ছাড়াই হাইলগে প্রকাশ করা যেতে পারে। শেষ উদাহরণটি একটি প্রেডিকেটকে সংজ্ঞায়িত করে যা প্রথম-ক্রম পদ হিসাবে প্রতিনিধিত্ব করা নির্বিচারে বাইনারি গাছগুলিকে অতিক্রম করে। ক্লোজার (পি) (এক্স, ওয়াই) <-পি (এক্স, ওয়াই)। বন্ধ (পি) (এক্স, ওয়াই) <-পি (এক্স, জেড), বন্ধ (পি) (জেড, ওয়াই)। মানচিত্র তালিকা (এফ) ([], [])। মানচিত্র তালিকা (এফ) ([X|R], [Y|Z]) <-এফ (এক্স, ওয়াই), মানচিত্র তালিকা (এফ) (আর, জেড)। কল করুন (এক্স) <-এক্স. ট্র্যাভার্স (এক্স (এল, আর)) <-ট্র্যাভার্স (এল), ট্র্যাভার্স (আর)। তথ্যসূত্র আরও পড়া যুক্তিসঙ্গত প্রোগ্রামিং ভাষাগুলি ঘোষণাত্মক প্রোগ্রামিং ভাষাগুলি জ্ঞানের প্রতিনিধিত্ব