زبان برنامه‌نویسی تابعی منطقی جبری

زبان برنامه‌نویسی تابعی منطقی جبری  که به صورت مخفف «ALF» نیز شناخته می‌شود زبان برنامه‌نویسی است که تکنیک‌های برنامه‌نویسی تابعی و برنامه‌نویسی منطقی را ترکیب کرده‌است. منبع ایجاد آن منطق عبارت هورن با تساوی است که از گزاره و قضایای هورن برای برنامه‌نویسی منطقی و توابع و معادلات برای برنامه‌نویسی تابعی تشکیل شده‌است.

آی ال اف برای اینکه ترکیب باهوش دو پاردیاگرم برنامه‌نویسی باشد طراحی شد، و بنابرین هر عبارت تابعی می‌تواند در یک هدف منطقی و گزاره‌های مطلق که در شرایطی از عبارت‌ها اتفاق می‌افتند استفاده شود. سمنتیک عملی‌ای ال اف بر اساس قانون وضوح برای حل عبارات دقیق وخرد کردن برای ارزیابی عبارات تابعی ایجاد شده‌است. برای کاهش تعداد قدم‌های خورد کردن ممکن، یک استراتژی اشتقاق چپ خورد کردن ساده استفاده می‌شود که، ادعا شده، می‌تواند به صورت کارآمدی اجرا شود. قوانین با دوباره‌نویسی قبل از قدم خورد کردن اجرا می‌شود ساده شده‌است و عبارات ردّ می‌شوند اگر دو طرف سازندگان متفاوتی در بالا داشته باشند. دوباره نوشتن و رد کردن برای نتیجه دادن به یک کاهش زیاد از درخت جستجو می‌باشند و یک سمنتیک عملی که کارامد تر از استراتژی ظهور پرولوگ می‌باشد ایجاد می‌کنند. مشابه به پرولگ، ALF از یک استراتژی بازگشتی که به یک جستجو اول عمق در یک درخت اشتقاق تطابق دارد استفاده می‌کند.

سیستم ALF برای اینکه یک اجرا کارامد از ترکیب وضوح، خورد کردن، باز نویسی، و رد کردن طراحی شده‌است. برنامه‌های ALF در داخل دستورالعمل‌ها یک ماشین مطلق گرد آوری شده‌اند. ماشین مطلق بر اساس ماشین مطلق ورن با چندین اضافه برای اجرا خورد کردن و بازنویسی بنا شده‌است. در اجرای فعلی ALF برنامه‌های این ماشین مطلق با مقلّد نوشته شده با سی (زبان برنامه‌نویسی) اجرا می‌شوند.

در مخزن هوش مصنوعی دانشگاه کارنگی ملون ، ALF به عنوان زبان برنامه‌نویسی هوش مصنوعی قرار داده شده‌است، که به‌طور کلی به عنوان یک اجرا پرولگ زبان برنامه‌نویسی منطقی / تابعی می‌باشد. یک کتاب راهنما کاربر که زبان و استفاده از سیستم را توضیح می‌دهد در دسترس است. سیستم ALF تحت یونیکس اجرا می‌شود و رایگان است.

منابع

پیوند به بیرون 
 Publications of Michael Hanus, including many articles relevant to the design and theory of ALF
 Information about getting and installing the ALF system

زبان‌های برنامه‌نویسی ساخته‌شده در دهه ۱۹۹۰ (میلادی)
زبان‌های برنامه‌نویسی منطقی
کامپایلرها و مفسرهای آزاد