Tierless web programming in ML

Tierless web programming in ML
复制标题

ML 中的无分层 Web 编程

DOI:
--
复制
发表时间:
2017
期刊:
影响因子:
--
通讯作者:
Gabriel Radanne
Gabriel Radanne
中科院分区:
--
文献类型:
--
作者:
Gabriel Radanne

文献摘要

被引文献

相似文献

Eliom是用于Web编程的OCaml方言,其中服务器和客户端代码片段可以使用语法注释混合在同一文件中。这允许将整个应用程序构建为单个分布式程序,其中可以以可组合的方式定义具有服务器和客户端行为的可重用小部件。Eliom是类型安全的,因为它通过与Web编程的特殊性相匹配的新颖语言构造来确保通信行为良好。Eliom也很高效,它提供了静态切片,在编译时将客户端和服务器部分分开,避免了客户端和服务器之间的来回通信。最后,Eliom支持模块化和封装,这要归功于OCaml模块系统的扩展,它具有无层次的注释,指定某些定义是否应该在服务器上,客户端上,或者两者兼而有之。本文介绍了Eliom语言的设计、形式化和实现。
Eliom is a dialect of OCaml for Web programming in which server and client pieces of code can be mixed in the same file using syntactic annotations. This allows to build a whole application as a single distributed program, in which it is possible to define in a composable way reusable widgets with both server and client behaviors. Eliom is type-safe, as it ensures that communications are well-behaved through novel language constructs that match the specificity of Web programming. Eliom is also efficient, it provides static slicing which separates client and server parts at compile time and avoids back-and-forth communications between the client and the server. Finally, Eliom supports modularity and encapsulation thanks to an extension of the OCaml module system featuring tierless annotations that specify whether some definitions should be on the server, on the client, or both. This thesis presents the design, the formalization and the implementation of the Eliom language.