SMLtoJs: Hosting a standard ML compiler in a Web browser

Research output: Chapter in Book/Report/Conference proceedingArticle in proceedingsResearchpeer-review

Standard

SMLtoJs : Hosting a standard ML compiler in a Web browser. / Elsman, Martin.

PLASTIC'11 - Proceedings of the 1st ACM SIGPLAN International Workshop on Programming Language and Systems Technologies for Internet Clients. 2011. p. 39-48 (PLASTIC'11 - Proceedings of the 1st ACM SIGPLAN International Workshop on Programming Language and Systems Technologies for Internet Clients).

Research output: Chapter in Book/Report/Conference proceedingArticle in proceedingsResearchpeer-review

Harvard

Elsman, M 2011, SMLtoJs: Hosting a standard ML compiler in a Web browser. in PLASTIC'11 - Proceedings of the 1st ACM SIGPLAN International Workshop on Programming Language and Systems Technologies for Internet Clients. PLASTIC'11 - Proceedings of the 1st ACM SIGPLAN International Workshop on Programming Language and Systems Technologies for Internet Clients, pp. 39-48, 1st ACM SIGPLAN International Workshop on Programming Language and Systems Technologies for Internet Clients, PLASTIC'11, Portland, OR, United States, 24/10/2011. https://doi.org/10.1145/2093328.2093336

APA

Elsman, M. (2011). SMLtoJs: Hosting a standard ML compiler in a Web browser. In PLASTIC'11 - Proceedings of the 1st ACM SIGPLAN International Workshop on Programming Language and Systems Technologies for Internet Clients (pp. 39-48). PLASTIC'11 - Proceedings of the 1st ACM SIGPLAN International Workshop on Programming Language and Systems Technologies for Internet Clients https://doi.org/10.1145/2093328.2093336

Vancouver

Elsman M. SMLtoJs: Hosting a standard ML compiler in a Web browser. In PLASTIC'11 - Proceedings of the 1st ACM SIGPLAN International Workshop on Programming Language and Systems Technologies for Internet Clients. 2011. p. 39-48. (PLASTIC'11 - Proceedings of the 1st ACM SIGPLAN International Workshop on Programming Language and Systems Technologies for Internet Clients). https://doi.org/10.1145/2093328.2093336

Author

Elsman, Martin. / SMLtoJs : Hosting a standard ML compiler in a Web browser. PLASTIC'11 - Proceedings of the 1st ACM SIGPLAN International Workshop on Programming Language and Systems Technologies for Internet Clients. 2011. pp. 39-48 (PLASTIC'11 - Proceedings of the 1st ACM SIGPLAN International Workshop on Programming Language and Systems Technologies for Internet Clients).

Bibtex

@inproceedings{161cc38f8ea24ea29520081fbf7e3d1e,
title = "SMLtoJs: Hosting a standard ML compiler in a Web browser",
abstract = "Standard ML is a strictly typed functional programming language that provides programmers with many powerful features, including parametric polymorphism, pattern matching, and a rich module system. In this paper, we present SMLtoJs, an optimizing compiler that compiles Standard ML programs into JavaScript to be executed in any JavaScript-supported Web browser. SMLtoJs supports all of Standard ML and most of the Standard ML Basis Library, which allows for the SMLtoJs compiler itself to be compiled and executed in a browser. We present the overall structure of SMLtoJs, including the non-JavaScript aware front-end and the JavaScript-specific backend. We also present SMLtoJs's type safe interface for interacting with native JavaScript, such as the DOM api. Finally, we present the details of the JavaScript-specific optimizations, including how SMLtoJs deals with tail recursion, which enable complex Standard ML programs to be compiled into efficient JavaScript.",
keywords = "javascript, standard ml",
author = "Martin Elsman",
year = "2011",
doi = "10.1145/2093328.2093336",
language = "English",
isbn = "9781450311717",
series = "PLASTIC'11 - Proceedings of the 1st ACM SIGPLAN International Workshop on Programming Language and Systems Technologies for Internet Clients",
pages = "39--48",
booktitle = "PLASTIC'11 - Proceedings of the 1st ACM SIGPLAN International Workshop on Programming Language and Systems Technologies for Internet Clients",
note = "1st ACM SIGPLAN International Workshop on Programming Language and Systems Technologies for Internet Clients, PLASTIC'11 ; Conference date: 24-10-2011 Through 24-10-2011",

}

RIS

TY - GEN

T1 - SMLtoJs

T2 - 1st ACM SIGPLAN International Workshop on Programming Language and Systems Technologies for Internet Clients, PLASTIC'11

AU - Elsman, Martin

PY - 2011

Y1 - 2011

N2 - Standard ML is a strictly typed functional programming language that provides programmers with many powerful features, including parametric polymorphism, pattern matching, and a rich module system. In this paper, we present SMLtoJs, an optimizing compiler that compiles Standard ML programs into JavaScript to be executed in any JavaScript-supported Web browser. SMLtoJs supports all of Standard ML and most of the Standard ML Basis Library, which allows for the SMLtoJs compiler itself to be compiled and executed in a browser. We present the overall structure of SMLtoJs, including the non-JavaScript aware front-end and the JavaScript-specific backend. We also present SMLtoJs's type safe interface for interacting with native JavaScript, such as the DOM api. Finally, we present the details of the JavaScript-specific optimizations, including how SMLtoJs deals with tail recursion, which enable complex Standard ML programs to be compiled into efficient JavaScript.

AB - Standard ML is a strictly typed functional programming language that provides programmers with many powerful features, including parametric polymorphism, pattern matching, and a rich module system. In this paper, we present SMLtoJs, an optimizing compiler that compiles Standard ML programs into JavaScript to be executed in any JavaScript-supported Web browser. SMLtoJs supports all of Standard ML and most of the Standard ML Basis Library, which allows for the SMLtoJs compiler itself to be compiled and executed in a browser. We present the overall structure of SMLtoJs, including the non-JavaScript aware front-end and the JavaScript-specific backend. We also present SMLtoJs's type safe interface for interacting with native JavaScript, such as the DOM api. Finally, we present the details of the JavaScript-specific optimizations, including how SMLtoJs deals with tail recursion, which enable complex Standard ML programs to be compiled into efficient JavaScript.

KW - javascript

KW - standard ml

UR - http://www.scopus.com/inward/record.url?scp=84856667815&partnerID=8YFLogxK

U2 - 10.1145/2093328.2093336

DO - 10.1145/2093328.2093336

M3 - Article in proceedings

AN - SCOPUS:84856667815

SN - 9781450311717

T3 - PLASTIC'11 - Proceedings of the 1st ACM SIGPLAN International Workshop on Programming Language and Systems Technologies for Internet Clients

SP - 39

EP - 48

BT - PLASTIC'11 - Proceedings of the 1st ACM SIGPLAN International Workshop on Programming Language and Systems Technologies for Internet Clients

Y2 - 24 October 2011 through 24 October 2011

ER -

ID: 375210900