Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!linus!vaxine!wjh12!genrad!decvax!harpo!seismo!hao!hplabs!sri-unix!DIETTERICH@SUMEX-AIM.ARPA From: DIETTERICH@SUMEX-AIM.ARPA Newsgroups: net.ai Subject: RE: AI Programming Message-ID: <12567@sri-arpa.UUCP> Date: Mon, 16-Apr-84 16:52:04 EST Article-I.D.: sri-arpa.12567 Posted: Mon Apr 16 16:52:04 1984 Date-Received: Fri, 27-Apr-84 08:25:17 EST Lines: 17 From: Tom Dietterich I think a major difference between most AI programming and most non-AI programming is that AI programming usually involves implementing additional layers of interpretation on top of whatever programming system is being employed. Any system that needs to reason about its own actions, its own assumptions, and so on, requires this extra layer of interpretation. The kinds of programs that I work on--learning programs--also need to modify themselves as they run. This helps explain why LISP is so popular--it provides very good support for building your own interpreters: the ability to dynamically define new symbols, the ability to construct arbitrary binding environments, and the ability to invoke EVAL on arbitrary expressions. Perhaps LISP is best viewed as a interpreter language rather than a programming language. --Tom