Я искал source code для раннего проекта AI Parry. Это сложно, потому что основная часть кода написана в MLISP, для которого не существует никакой рабочей реализации (что я знаю). Вместо этого я использовал спецификацию языка (MLISP Users' Manual и ранее MLISP Technical Report).Что означает ключевое слово ALSO в MLISP?
Одно любопытства, что я не в состоянии объяснить это IF-THEN-ELSE-ALSO
конструкции, например:
IF !LAMBDANAME(B) THEN ERROR("NONLAMBDA INTO REACT2",B) ALSO RETURN NIL;
Документации Я был в состоянии найти не говоря уже о ALSO
положения для IF
заявления, и я Я немного почесываю голову, чтобы понять, для чего это.
Одно из правдоподобных предложений, которые я видел, заключается в том, что он используется так, как предложение finally
используется для обработки исключений в Java, то есть для запуска кода очистки независимо от того, как завершается IF
. С другой стороны, это не объясняет заявления, которые, как представляется, никогда не поднимают исключения, например:
IF REACTTO='QUIT THEN REACTTO:=NIL ALSO TRACE_MEM:='NOSPECIALANAPH;
Любые идеи?
Всего предположение, но, возможно, это просто кусок синтаксический сахар для запуска второго утверждения после первого, в этот случай, ЕСЛИ ... ELSE? – Linuxios