Erratic Fudgets: a semantic theory for an embedded coordination language
Erratic Fudgets: a semantic theory for an embedded coordination language
复制标题
不稳定的 Fudgets:嵌入式协调语言的语义理论
DOI:
10.1016/s0167-6423(02)00088-6
复制
发表时间:
1999
期刊:
影响因子:
--
通讯作者:
M. Carlsson
中科院分区:
文献类型:
--
作者:
Andrew Moran;David Sands;M. Carlsson
The powerful abstraction mechanisms of functional programming languages provide the means to develop domain-specific programming languages within the language itself. Typically, this is realised by designing a set of combinators (higher-order reusable programs) for an application area, and by constructing individual applications by combining and coordinating individual combinators. This paper is concerned with a successful example of such an embedded programming language, namely Fudgets, a library of combinators for building graphical user interfaces in the lazy functional language Haskell. The Fudget library has been used to build a number of substantial applications, including a web browser and a proof editor interface to a proof checker for constructive type theory. This paper develops a semantic theory for the non-deterministic stream processors that are at the heart of the Fudget concept. The interaction of two features of stream processors makes the development of such a semantic theory problematic: We demonstrate that this combination of features in a higher-order functional language can be tamed to provide a tractable semantic theory and induction principles suitable for reasoning about contextual equivalence of Fudgets.