ArticlePDF Available


The fact that the focus of a Prolog computation is the structure of the program leads directly to a view of a Prolog compiler as a procedure that takes a collection of Prolog clauses and produces a description of their structure that just happens to be executable. Forth lends itself naturally to the description of both structures and processes. In fact, some hold that Forth programming involves creating the parts of speech required to describe an application. This article proposes that for this reason, Forth is a very good language for prototyping Prolog compilers. A simple object language for a Prolog to Forth compiler is presented and discussed.
... As a rule extensible languages are not "high-level" or "low-level" { they are on the level of their users. Having a look at the Forth language again we can nd an object-oriented approach ( 7]), logic and functional approaches ( 1,5]), an abstract data type approach etc. but also the "assembler" approach, for example. On the other hand { bad style in extensible languages is much worse than bad style in traditional languages. ...
Full-text available
While significant advances have been made in real-time expert systems, it is Often a major problem to match the software with an appropriate delivery vehicle. We describe two similar approaches, developed independently and brought together in this paper, that address both the language and hardware issues. The result is an integrated solution that preserves the benefits of high-level languages for developing expert systems while meeting the constraints of many real-time applications for execution speed and data asynchronism. These constraints are met without the need for translating a high-level system into a low-level software, description. We take as a premise that expert systems technology adds value to control and data acquisition systems, and focus on the problem of engineering this technology into systems with severe resource bounds, difficult performance constraints, and non-standard hardware. Rather than taking the frontal approach of forcing predeveloped, knowledge-based code into a target machine and attempting to integrate it with a real-time component, we argue for a platform language as a basis for both the real-time and knowledge-based portions. We describe our development work and applications, which demonstrate that this strategy is practical and effective.
ResearchGate has not been able to resolve any references for this publication.