【24h】

A Semantic Model for Graphical User Interfaces

机译:图形用户界面的语义模型

获取原文
获取原文并翻译 | 示例

摘要

We give a denotational model for graphical user interface (GUI) programming using the Cartesian closed category of ultrametric spaces. The ultrametric structure enforces causality restrictions on reactive systems and allows well-founded recursive definitions by a generalization of guardedness. We capture the arbitrariness of user input (e.g., a user gets to decide the stream of clicks she sends to a program) by making use of the fact that the closed subsets of an ultrametric space themselves form an ultrametric space, allowing us to interpret nondeterminism with a "powerspace" monad. Algebras for the powerspace monad yield a model of intuition-istic linear logic, which we exploit in the definition of a mixed linearon-linear domain-specific language for writing GUI programs. The non-linear part of the language is used for writing reactive stream-processing functions whilst the linear sublanguage naturally captures the generativity and usage constraints on the various linear objects in GUIs, such as the elements of a DOM or scene graph. We have implemented this DSL as an extension to OCaml, and give examples demonstrating that programs in this style can be short and readable.
机译:我们给出了使用超度量空间的笛卡尔封闭类别的图形用户界面(GUI)编程的权威模型。超度量结构对反应系统施加因果关系限制,并通过保护的泛化来允许有充分根据的递归定义。我们利用超测量空间的封闭子集本身形成超测量空间这一事实,来捕获用户输入的任意性(例如,用户决定自己发送到程序的点击流)。这使我们能够解释不确定性与“电源”单子。 Powerspace Monad的代数产生了一种直觉主义线性逻辑模型,我们在定义线性/非线性混合领域特定语言的定义中利用了该逻辑来编写GUI程序。该语言的非线性部分用于编写反应式流处理功能,而线性子语言自然可以捕获GUI中各种线性对象(例如DOM或场景图)的生成和使用约束。我们已经将此DSL实现为OCaml的扩展,并给出了一些示例,说明这种风格的程序可以简短易读。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号