A model for I/O in equational languages with don't care non-determinism
Existing models for I/O in side-effect free languages focus on functional languages, which are usually based on a largely deterministic reduction strategy, allowing for a strict sequentialization of I/O operations. In concurrent logic programming languages a model is used which allows for don't care non-determinism; the sequentialization of I/O is extensional rather than intensional. We apply this model to equational languages, which are closely related to functional languages, but exhibit don't care non-determinism. The semantics are formulated as constrained narrowing, a relation that contains the rewrite relation, and is contained in the narrowing relation. We present constrained narrowing and some of its properties; a constructive method to transform conventional term rewriting systems to constrained narrowing systems; and a discussion on requirements for an implementation.
|Applicative Programming (acm D.1.1), Semantics of Programming Languages (acm F.3.2), Mathematical Logic (acm F.4.1)|
|Logic programming (msc 68N17), Theory of computing (msc 68Qxx), Grammars and rewriting systems (msc 68Q42), Abstract data types; algebraic specification (msc 68Q65)|
|Department of Computer Science [CS]|
|Organisation||Extensible programming environments|
Walters, H.R, & Kamperman, J.F.T. (1995). A model for I/O in equational languages with don't care non-determinism. Department of Computer Science [CS]. CWI.