Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
@ARTICLE{AlbertHanusHuchOliverVidal05,
author = {Albert, E. and Hanus, M. and Huch, F. and Oliver, J. and Vidal, G.},
title = {Operational Semantics for Declarative Multi-Paradigm Languages},
year = {2005},
journal = {Journal of Symbolic Computation},
number = {1},
pages = {795-829},
volume = {40},
abstract = {
Declarative multi-paradigm languages combine the most important
features of functional, logic and concurrent programming. The
computational model of such integrated languages is usually
based on a combination of two different operational
principles: narrowing and residuation. This work is motivated
by the fact that a precise definition of an
operational semantics including all aspects of modern multi-paradigm
languages like laziness, sharing, non-determinism,
equational constraints, external functions, concurrency, etc.\ does not exist.
Therefore, in this article, we present the first rigorous operational
description covering all the aforementioned
features in a precise and understandable manner.
We develop our operational semantics in several steps. First, we
define a natural (big-step) semantics covering laziness, sharing
and non-determinism. We also present an equivalent small-step semantics
which additionally includes a number of practical features like equational
constraints and external functions. Then, we introduce a deterministic
version of the small-step semantics which makes the search strategy
explicit; this is essential for profiling, tracing, debugging, etc.
Finally, the deterministic semantics is extended in order to cover
the concurrent facilities of modern declarative multi-paradigm languages. The
developed semantics
provides an appropriate foundation to model actual declarative
multi-paradigm languages like Curry.
The complete operational semantics has been implemented and used
for various programming tools.
}
}