Results 1 -
2 of
2
Use of Prolog for developing a new programming language
, 1992
"... This paper describes how Prolog was used for the development of a new concurrent realtime symbolic programming language called Erlang. Erlang was developed by first building a prototype in Prolog - the prototype was used by a user group to test their reactions to the language. As time passed many fe ..."
Abstract
-
Cited by 7 (4 self)
- Add to MetaCart
This paper describes how Prolog was used for the development of a new concurrent realtime symbolic programming language called Erlang. Erlang was developed by first building a prototype in Prolog - the prototype was used by a user group to test their reactions to the language. As time passed many features were added (and removed) from the interpreter and eventually the language reached a level of maturity where it was decided to try it out on a significant problem. About 3 years and some 20,000 lines of Erlang later, performance became an issue - we wrote Prolog cross compilers from Erlang to various concurrent logic programing languages followed by a direct implementation of Erlang itself. The direct implementation of Erlang was loosely based on the WAM and made by writing a Prolog compiler from Erlang to a new abstract machine and an emulator for the abstract machine in 'C'. The instruction set for the abstract machine was first prototyped in Prolog - finally the compiler was re-writ...
A Real-Time Extension to Logic Programming Based on the Concurrent Constraint Logic Programming Paradigm
"... Although concurrent logic programming languages provide a suitable implementation environment for real-time systems, they fail to give any notion of temporal correctness. We define a set of semantics whereby temporal constraints, consisting of delay, maximum execution time, and priority specificatio ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Although concurrent logic programming languages provide a suitable implementation environment for real-time systems, they fail to give any notion of temporal correctness. We define a set of semantics whereby temporal constraints, consisting of delay, maximum execution time, and priority specifications can be implemented into existing concurrent logic programming languages. The notion of temporal inheritance is described which allows distribution of common temporal constraints to processes that are all part of the same task. We give some examples illustrating the utility of the language extension. 1 Introduction Real-time systems (RTS) can be defined as systems whose result not only depends on the correctness of the output, but also the time at which the output is produced. Hard RTSs have deadlines which if missed can be either disastrous (missile guidance systems) or useless (stock market prediction). Soft RTSs such as telephone exchanges, on the other hand can tolerate a certain prop...

