ELIOM: A Core ML Language for Tierless Web Programming

被引:8
|
作者
Radanne, Gabriel [1 ]
Vouillon, Jerome [2 ]
Balat, Vincent [2 ]
机构
[1] Univ Paris Diderot, Sorbonne Paris Cite, CNRS, IRIF UMR 8243, Paris, France
[2] Univ Paris Diderot, CNRS, IRIF UMR 8243, Sorbonne Paris Cite,BeSport, Paris, France
关键词
Web; Client-server; OCaml; ML; Eliom; Functional;
D O I
10.1007/978-3-319-47958-3_20
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
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. Our language also enables simple and type-safe communication. ELIOM matches the specificities of the Web by allowing the programmer to interleave client and server code while maintaining efficient one-way server-to-client communication. The ELIOM language is both sufficiently small to be implemented on top of an existing language and sufficiently powerful to allow expressing many idioms of Web programming. In this paper, we present a formalization of the core language of ELIOM. We provide a type system, the execution model and a compilation scheme.
引用
收藏
页码:377 / 397
页数:21
相关论文
共 50 条
  • [21] Interactive Learning Environment for Practical Programming Language based on Web Service
    Jung, Inho
    Choi, Jaewoong
    Kim, In-Jung
    Choi, Changbeom
    [J]. 2016 15TH INTERNATIONAL CONFERENCE ON INFORMATION TECHNOLOGY BASED HIGHER EDUCATION AND TRAINING (ITHET), 2016,
  • [22] Lightweight Monadic Programming in ML
    Swamy, Nikhil
    Guts, Nataliya
    Leijen, Daan
    Hicks, Michael
    [J]. ICFP 11 - PROCEEDINGS OF THE 2011 ACM SIGPLAN: INTERNATIONAL CONFERENCE ON FUNCTIONAL PROGRAMMING, 2011, : 15 - 27
  • [23] Reactive programming in Standard ML
    Pucella, RR
    [J]. 1998 INTERNATIONAL CONFERENCE ON COMPUTER LANGUAGES, PROCEEDINGS, 1998, : 48 - 57
  • [24] Lightweight Monadic Programming in ML
    Swamy, Nikhil
    Guts, Nataliya
    Leijen, Daan
    Hicks, Michael
    [J]. ACM SIGPLAN NOTICES, 2011, 46 (09) : 15 - 27
  • [25] A Markup Language for Parallel Programming Model on Multi-Core System
    Zhang Yingqian
    Sun Bin
    Liu Jia
    [J]. 2009 INTERNATIONAL CONFERENCE ON SCALABLE COMPUTING AND COMMUNICATIONS & EIGHTH INTERNATIONAL CONFERENCE ON EMBEDDED COMPUTING, 2009, : 640 - +
  • [26] Core PHP programming: Using PHP to build dynamic web sites.
    Gillespie, T
    [J]. LIBRARY JOURNAL, 1999, 124 (14) : 228 - 228
  • [27] Looking at web security vulnerabilities from the programming language perspective: A field study
    Seixas, Nuno
    Fonseca, José
    Vieira, Marco
    Madeira, Henrique
    [J]. Proceedings - International Symposium on Software Reliability Engineering, ISSRE, 2009, : 129 - 135
  • [28] A web-based CAL system on Computer Architecture and Assembly Language programming
    Raymond, YKK
    Daniel, LKC
    [J]. INTERNATIONAL CONFERENCE ON COMPUTERS IN EDUCATION, VOLS I AND II, PROCEEDINGS, 2002, : 1313 - 1314
  • [29] SWAM: A logic-based mobile agent programming language for the Semantic Web
    Crasso, Marco
    Mateos, Cristian
    Zunino, Alejandro
    Campo, Marcelo
    [J]. EXPERT SYSTEMS WITH APPLICATIONS, 2011, 38 (03) : 1723 - 1737
  • [30] Substructural Meta-Theory of a Type-Safe Language for Web Programming
    Cervesato, Iliano
    Sans, Thierry
    [J]. FUNDAMENTA INFORMATICAE, 2014, 130 (01) : 67 - 97