SHardy%SRI-KL@sri-unix.UUCP (11/01/83)
A recent message said that programming environments offering more than one language, such as POPLOG or LM-PROLOG, are no solution to difficulties in using pure Prolog, such as wanting to use ASSERT or RPLACA. The message said such systems in fact make things worse since they make it necessary to learn two or more programming languages. I can't speak for the LM-PROLOG people, but as a one time member of the POPLOG team, I can say that our goals for POPLOG were user convenience and efficiency - not finding solutions to the theoretical problems of mixing meta level knowledge with base level knowledge (E.g. using ASSERT). We wanted, for example, to interact with our programs via a user modifiable screen editor. Writing a screen editor in pure Prolog is impossible. We wanted to process arrays of floating point numbers. We wanted to be able to use HEARSAY-like agenda mechanisms. We wanted to be able to write efficient compilers containing a minimum of machine code. We wanted to do lots of things easier in LISP or POP-11 than Prolog. We felt that professional programmers could be fluent in several languages (E.g. Prolog, POP or LISP, C or FORTRAN, and assembler) and would appreciate the choice of appropriate level for any particular module of a large system. -- Steve Hardy, Teknowledge