Я выполняю следующую команду и получаю следующую ошибку:
| ?- list('A', List).
uncaught exception: error(type_error(evaluable,'A'/0),(is)/2)
Это предикат, откуда, я полагаю, возникла ошибка. Я предполагаю, что это связано с "Grade is 'A'. Но я не уверен, что именно не так.
file1.pl
grade(First, Last, Grade) :-
student(StudentType, First, Last, Exam1, Exam2, Exam3),
StudentType = 'std',
((Exam1 + Exam2 + Exam3) / 3)>=90,
Grade is 'A'.
Вот еще 2 файла, связанные с программа:
file2.pl
list(Grade, List) :-
findall([X, Y, Z], (grade(X, Y, Z), Z=:=Grade), List).
file3.pl
student('std', 'firstName', 'lastName', 100, 100, 90).