Знайте, Intuit, лекция, универсално

Тя ще работи по причини, които са обяснени в глава 6.

Официално разграничение между функциите и предикати в Lisp не съществува. Предикат може да се определи като функция със стойности или Т или нула. Това е вярно за всички системни предикати. Можете да използвате една форма, която не е предикат, когато се изисква предикат. предикат позиция условно аргумент или логическа операция. Семантично всяка S- експресия. различна от нула. Тя ще бъде разгледана в този случай за да е истина. Първата последица от това - NULL предиката и логическото отрицание не са идентични. Вторият - факта, че (Цитат Т) или (Цитат X) по същество еквивалентен на T като постоянни предикати.

Предикатна EQ се държи, както следва:

  1. Ако аргументите му са различни, стойността на EQ е нулев.
  2. Ако и двете от аргументите са едни и същи атом, стойността - Т.
  3. Ако стойностите са същите, но не атома, Т стойност или нула базата на това дали идентични аргументи представяне в паметта.
  4. EQ стойност е винаги T или нула. Тя никога не е дефинирано, дори и грешни аргументи.

Universal - дух, освободен от бутилка, защото потенциала на такава функция е ограничен само от въображението ни способности. Докато ние считаме, само най-простите, най-очевидните последици от възможността изрично се прилагат и усъвършенстват механизмите за символично представяне и определяне на функциите, като например използването натрупване параметри задължителни обозначения по схемата за влизане смисъла в списъка на сдружаване като имената на променливите със стойности и имена на функции с определенията, и функциите на заявление за подпомагане за постигане на определена прозрачност. Тези способности имат място във всеки високо ниво на езика. Но едновременно извършва достатъчно строги изграждане на напълно формален математически система. наречен "Елементарно LISP". Компонентите на тази официална система са както следва:

  1. Множество от символи, наречен S-изрази.
  2. Функционалната нотацията система за основните понятия, необходими за обработка на програмен S-изразяване.
  3. Официално представяне на функционалната нотация под формата на S-изрази.
  4. Universal (написана под формата на S-изрази), интерпретативен боравене произволна функция написана като S-израз, за ​​да представят своите аргументи.
  5. Система на основни функции, предоставяне на техническа помощ при обработването на S-изрази, както и специални функции, изчислява контрол.

По-интересни и не толкова очевидни последствия възникват, когато разширяването на системата на формалното, както ще бъде показано в следващите лекции.