|
ABSTRACT
The Ecma TC39-TG1 working group is using ML as the specification language for the next generation of JavaScript, the popular programming language for browser-based web applications. This "definitional interpreter" serves many purposes: a high-level and readable specification language, an executable and testable specification, a reference implementation, and an aid in driving the design process. We describe the design and specification of JavaScript and our experience so far using Standard ML for this purpose.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Christopher Anderson, Paola Giannini, and Sophia Drossopoulou. Towards type inference for JavaScript. In 19th European Conference on Object-Oriented Programming (ECOOP 2005), pages 428--453, 2005.
|
| |
2
|
Andrew W. Appel and David B. MacQueen. Standard ML of New Jersey. In J. Maluszynski and M. Wirsing, editors, Proceedings of the Third International Symposium on Programming Language Implementation and Logic Programming, pages 1--13. Springer Verlag, 1991.
|
 |
3
|
|
| |
4
|
Frederick P. Brooks, Jr. No silver bullet: essence and accidents of software engineering. In Information Processing 86, pages 1069--1076, 1986. International Federation of Information Processing (IFIP) Congress '86.
|
 |
5
|
Paul T. Darga , Chandrasekhar Boyapati, Efficient software model checking of data structure properties, Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications, October 22-26, 2006, Portland, Oregon, USA
|
| |
6
|
Ecma 2007. ECMAScript Edition 4 specification wiki, 2007. URL http://wiki.ecmascript.org.
|
| |
7
|
Ecma 2006. C} Language Specification. Ecma International, 4th edition, 2006. ECMA-334.
|
| |
8
|
Ecma 1999. ECMAScript Language Specification. Ecma International, 3rd edition, 1999. ECMA-262.
|
 |
9
|
|
| |
10
|
Jesse J. Garrett. Ajax: A new approach to web applications, 2005.
|
| |
11
|
James Gosling , Bill Joy , Guy Steele , Gilad Bracha, Java Language Specification, Second Edition: The Java Series, Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 2000
|
 |
12
|
|
| |
13
|
David Herman, Aaron Tomb, and Cormac Flanagan. Space-efficient gradual typing. In Trends in Functional Programming, April 2007.
|
| |
14
|
Waldemar Horwat. ECMAScript edition 3 errata, June 2003a. URL http://www.mozilla.org/js/language/E262-3-errata.html.
|
| |
15
|
Waldemar Horwat. JavaScript 2.0: Evolving a language for evolving systems. URL http://www.mozilla.org/js/ language/evolvingJS.pdf. Lightweight Languages Workshop (LL1), 2001.
|
| |
16
|
Waldemar Horwat. ECMAScript 4 Netscape proposal, June 2003b. URL http://www.mozilla.org/js/language/old--es4.
|
| |
17
|
Waldemar Horwat. JavaScript 2.0 experimental semantics, 2003c. URL http://lxr.mozilla.org/mozilla/source/js2/semantics/.
|
| |
18
|
LtU 2006. Specifying ECMAScript via ML, November 2006. URL http://lambda-the-ultimate.org/node/1784.
|
| |
19
|
Jacob Matthews, Robert Bruce Findler, Matthew Flatt, and Matthias Felleisen. A visual environment for developing context-sensitive term rewriting systems. In International Conference on Rewriting Techniques and Applications (RTA2004), 2004.
|
| |
20
|
|
| |
21
|
Monotone 2007. Monotone: Distributed version control, 2007. URL http://monotone.ca/.
|
 |
22
|
|
| |
23
|
Neil Schemenauer, Tim Peters, and Magnus Lie Hetland. Simple generators, May 2001. URL http://www.python.org/dev/peps/pep-0255/. PEP-255.
|
| |
24
|
Jeremy G. Siek and Walid Taha. Gradual typing for functional languages. In Scheme and Functional Programming Workshop, September 2006.
|
| |
25
|
Jeremy G. Siek and Walid Taha. Gradual typing for objects. In ECOOP, Berlin, Germany, July 2007.
|
| |
26
|
Peter Thiemann. Towards a type system for analyzing JavaScript programs. In European Symposium On Programming, pages 408--422, 2005.
|
| |
27
|
Trac 2007. The Trac Project, 2007. URL http://trac.edgewall.org/.
|
 |
28
|
David Ungar , Randall B. Smith, Self: The power of simplicity, Conference proceedings on Object-oriented programming systems, languages and applications, p.227-242, October 04-08, 1987, Orlando, Florida, United States
|
| |
29
|
Guido van Rossum and Phillip J. Eby. Coroutines via enhanced generators, May 2005. URL http://www.python.org/dev/peps/pep-0342/.
|
| |
30
|
|
 |
31
|
|
|