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

תוכן שנמחק תוכן שנוסף
שורה 54:
 
אחד הנושאים המעניינים בהתפתחות שפת הפרולוג שהיווה מקור לוויכוחים אקדמיים מרים, הוא ההוספה של הגיזומים (Cut - תחביר: סימן קריאה !) לתחביר השפה.
ה-Cut, מצד אחד, מאפשר הגדלת יעילות הריצה בצורה משמעותית, על ידי כך שהמתכנת מגדיר ל[[אינטרפרטר]] לא לבצע גישוש נסוג במקרים מסוימים, שבהם המתכנת יודע שהגישוש אינו רצוי מבחינתו או נידון להכשל; ומהצד השני, פוגם בצורה משמעותית בתחביר הדקלרטיבי של השפה, ומקרב אותה לשפות הפרוצדורליות (לדוגמה, הסדר שבו מוגדרים ה[[פרדיקט (לוגיקה מתמטית)|פרדיקטיםפרדיקט]]ים משפיע על תוצאות הריצה, תופעה שכמובן אין לה מקום בשפה דקלרטיבית אמיתית). בפרט, cut היא פקודה ולא הצהרה, ולכן היא שייכת לפרדיגמה האימפרטיבית בדומה לשפות סטנדרטיות יותר.
 
שפת הלוויין [[דטלוג]] מוגדרת כתת-שפה (חלקית ממש) של פרולוג, אשר מצד אחד יותר מצומצמת מפרולוג, אבל מצד שני היא [[דקלרטיבית]] אמיתית, ואינה תומכת בגיזומים.