ScienceDirect® Home Skip Main Navigation Links
You have guest access to ScienceDirect. Find out more.
 
Home
Browse
My Settings
Alerts
Help
 Quick Search
 Search tips (Opens new window)
    Clear all fields    
Journal of Symbolic Computation
Volume 40, Issue 1, July 2005, Pages 795-829
Reduction Strategies in Rewriting and Programming special issue
 
Font Size: Decrease Font Size  Increase Font Size
 Abstract - selected
Purchase PDF (413 K)

 
 
 
Related Articles in ScienceDirect
View More Related Articles
 
View Record in Scopus
 
doi:10.1016/j.jsc.2004.01.001    How to Cite or Link Using DOI (Opens New Window)
Copyright © 2005 Elsevier Ltd All rights reserved.

Operational semantics for declarative multi-paradigm languagesstar, open

Elvira Alberta, E-mail The Corresponding Author, Michael Hanusb, Corresponding Author Contact Information, E-mail The Corresponding Author, Frank Huchb, E-mail The Corresponding Author, Javier Oliverc, E-mail The Corresponding Author and Germán Vidalc, E-mail The Corresponding Author

aDSIP, Complutense University of Madrid, E-28040 Madrid, Spain bInstitut für Informatik, CAU Kiel, D-24098 Kiel, Germany cDSIC, Technical University of Valencia, E-46022 Valencia, Spain

Received 14 January 2003; 
accepted 14 December 2004. 
Available online 2 March 2005.

Purchase the full-text article



References and further reading may be available for this article. To view references and further reading you must purchase this article.

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 and concurrency 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 semantics developed provides an appropriate foundation for modeling actual declarative multi-paradigm languages like Curry. The complete operational semantics has been implemented and used with various programming tools.

Keywords: Functional logic programming; Operational semantics


Journal of Symbolic Computation
Volume 40, Issue 1, July 2005, Pages 795-829
Reduction Strategies in Rewriting and Programming special issue
 
Home
Browse
My Settings
Alerts
Help
Elsevier.com (Opens new window)
About ScienceDirect  |  Contact Us  |  Information for Advertisers  |  Terms & Conditions  |  Privacy Policy
Copyright © 2008 Elsevier B.V. All rights reserved. ScienceDirect® is a registered trademark of Elsevier B.V.