Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!rutgers!gatech!prism!jm59 From: jm59@prism.gatech.EDU (MILLS,JOHN M.) Newsgroups: comp.robotics Subject: Re: "Easy" way to put "AI" in realtime embedded systems? Message-ID: <26311@hydra.gatech.EDU> Date: 15 Apr 91 13:24:55 GMT References: <5478@mindlink.UUCP> Organization: Georgia Institute of Technology Lines: 46 In article <5478@mindlink.UUCP> Nick_Janow@mindlink.UUCP (Nick Janow) writes: >Forth might be a good choice for adding AI to embedded systems. Forth is >widely used in embedded systems, and is also used in robotics and AI research. >Using Forth for all parts of the project would save time, money, system >resources and complexity compared with using, say, C for one part and Lisp for >the AI. I haven't used Forth, but it has some attractive qualities for this: (1) [SUPPOSED to be] Inherently "clean" for real-time-interrupts, (2) Inherently extensible (but if you "extend" an existing function, you probably lose the original definition), (3) Inherently recursive, (4) Assembly-language sources available for several common processors, and (5) Small but [fairly] visible body of experienced users. I understand that Forth was invented for telescope control in a lab setting, which sounds like a comparable set of problems viz. hardware driving. (Also, Forth tends to parenthesize, making LISPers feel comfortable: LISP :: "Lots of Irritating Single Parentheses" M. Waite, _Software for Non-Numerical Applications_ [8->). On the other front (built-in LISP): XLISP for the MS-DOS PC is distributed in source form, in C. This is a PD offering; check local BBSs. You have to decide whether to field the MS-DOS environment, or embed the LISP, but you've got the LISP to start with, or Some LISP systems can (I understand) compile user programs to C. This would require a two-stage crossing (LISP->C; C->embedded env.). (I have heard this claim for Symbolics, I think.) I haven't done these things, and the Forth comments were gratuitous, but since noone had mentioned either PD XLISP or cross-compilation, I hoped this might start some ideas. I _did_ play with a Forth-like "Threaded Interpretive Language" for CP/M, called "STOIC." CPMUG distribution. It would probably work, but FORTH is more common and users at least _exist_. -- MILLS,JOHN M. Georgia Institute of Technology, Atlanta Georgia, 30332 uucp: ...!{decvax,hplabs,ncar,purdue,rutgers}!gatech!prism!jm59 Internet: jm59@prism.gatech.edu