我最近在查看早期AI项目source code Parry。这很棘手,因为大部分代码都是用MLISP编写的,没有任何工作实现(我知道)。相反,我一直在使用语言规范(MLISP Users' Manual和之前的MLISP Technical Report)。
我无法解释的一个好奇心是IF-THEN-ELSE-ALSO
结构,例如:
IF !LAMBDANAME(B) THEN ERROR("NONLAMBDA INTO REACT2",B) ALSO RETURN NIL;
我能够找到的文档没有提到ALSO
语句的IF
条款,而且我有点想弄清楚它的含义是什么?{1}}
我看到的一个似是而非的建议是,它使用finally
子句用于Java中的异常处理的方式,即运行清理代码,无论{{1}如何运行终止了。另一方面,这并不能解释似乎永远不会引发异常的陈述,例如:
IF
有什么想法吗?
答案 0 :(得分:7)
IF e1 THEN a ALSO b ALSO c ELSE d ALSO e ALSO f
只是
(COND (e1 a b c) (T d e f))
见1970年David Canfield Smith的MLISP。