פרולוג (שפת תכנות) – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
מ הוספת קישור להוצאת אופוס
מ ←‏מאפייני השפה: clean up, replaced: הינה ← היא (2) באמצעות AWB
שורה 49:
בגלל המבנה התיאורי, היכולת לנסח חוקים בצורה מופשטת ומנגנון ההוכחה המובנה, תוכניות פרולוג נוטות להיות קצרות ואלגנטיות מאד.
 
פרולוג מעצם טבעה הינההיא שפה [[רקורסיה|רקורסיבית]] - אימות השאילתה מתבצע באמצעות קריאות מקוננות חוזרות ונשנות על סט החוקים הנתון עד למסקנה החד משמעית בדבר נכונות השאילתה (במקרה של שאילתת נכונות), או עד גמר איסוף כל הפתרונות האפשריים (במקרה של שאילתה פתוחה השולחת פרמטרים למילוי).
 
כל תוכנית פרולוג היא למעשה אוסף של פסוקים לוגיים הידועים כ[[פסוקי הורן]] (Horn Clauses).
שורה 56:
ה-Cut, מצד אחד, מאפשר הגדלת יעילות הריצה בצורה משמעותית, על ידי כך שהמתכנת מגדיר ל[[אינטרפרטר]] לא לבצע גישוש נסוג במקרים מסוימים, שבהם המתכנת יודע שהגישוש אינו רצוי מבחינתו או נידון להכשל; ומהצד השני, פוגם בצורה משמעותית בתחביר הדקלרטיבי של השפה, ומקרב אותה לשפות הפרוצדורליות (לדוגמה, הסדר שבו מוגדרים ה[[פרדיקט|פרדיקטים]] משפיע על תוצאות הריצה, תופעה שכמובן אין לה מקום בשפה דקלרטיבית אמיתית). בפרט, cut היא פקודה ולא הצהרה, ולכן היא שייכת לפרדיגמה האימפרטיבית בדומה לשפות סטנדרטיות יותר.
 
שפת הלוויין [[דטלוג]] מוגדרת כתת-שפה (חלקית ממש) של פרולוג, אשר מצד אחד יותר מצומצמת מפרולוג, אבל מצד שני הינההיא [[דקלרטיבית]] אמיתית, ואינה תומכת בגיזומים.
בדטלוג גם אין פונקציות ומנגנון ההסקה שלה הוא מטה-מעלה, בניגוד לפרולוג שהיא מעלה-מטה. דטלוג משמשת בעיקר למסדי-נתונים לוגיים בתחומי [[בינה עסקית|הבינה העסקית]].