| Efficient compilation of Lua for the CLR |
| Full text |
Pdf
(216 KB)
|
| Source
|
Symposium on Applied Computing
archive
Proceedings of the 2008 ACM symposium on Applied computing
table of contents
Fortaleza, Ceara, Brazil
SESSION: Programming languages
table of contents
Pages 217-221
Year of Publication: 2008
ISBN:978-1-59593-753-7
|
|
Authors
|
|
| Sponsor |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 17, Downloads (12 Months): 135, Citation Count: 0
|
|
|
ABSTRACT
Microsoft's Common Language Runtime offers a target environment for compiler writers that provides a managed execution environment and type system, garbage collection, access to OS services, multithreading, and a Just-In-Time compiler. But the CLR uses a statically typed intermediate language, which is a problem for efficient compilation of dynamically typed languages in general, and the Lua language in particular. This paper presents a way to implement a Lua compiler for the CLR that generates efficient code. The code this compiler generates outperforms the same code executed by the Lua interpreter and similar code generated by Microsoft's IronPython compiler. It approaches the performance of Lua code compiled to native code by LuaJIT.
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
|
A. L. de Moura, N. Rodriguez, and R. Ierusalimschy. Coroutines in lua. Journal of Universal Computer Science, 10(7):910--925, 2004.
|
| |
2
|
M. Hammond. Python for .NET: Lessons Learned, 2000. Technical report by ActiveState, not available online at the time of this paper's writing.
|
 |
3
|
|
| |
4
|
J. Hugunin. Ironpython: A fast python implementation for .net and mono. In Proceedings of PyCon DC 2004, 2004. Available at http://www.python.org/pycon/dc2004/papers/9.
|
| |
5
|
J. Hugunin. A Dynamic Language Runtime (DLR), 2007. Available at http://blogs.msdn.com/hugunin/archive/2007/04/30/a-dynamic-language-runtime-dlr.aspx.
|
 |
6
|
|
| |
7
|
R. Ierusalimschy, L. H. Figueiredo, and W. Celes. Lua 5.1 Reference Manual. Technical Report 14/03, PUC-Rio, 2006. Available at http://www.lua.org/manual/5.1.
|
| |
8
|
F. Mascarenhas and R. Ierusalimschy. Luainterface: Scripting the .net clr with lua. Journal of Universal Computer Science, 10(7):892--909, 2004.
|
| |
9
|
F. Mascarenhas and R. Ierusalimschy. Running lua scripts on the clr through bytecode translation. Journal of Universal Computer Science, 11(7):1275--1290, 2005.
|
| |
10
|
Microsoft. ECMA C# and Common Language Infrastructure Standards, 2005. Available at http://msdn.microsoft.com/net/ecma/.
|
| |
11
|
M. Pall. The LuaJIT project, 2007. Available at http://luajit.org/.
|
 |
12
|
Greg Pettyjohn , John Clements , Joe Marshall , Shriram Krishnamurthi , Matthias Felleisen, Continuations from generalized stack inspection, Proceedings of the tenth ACM SIGPLAN international conference on Functional programming, September 26-28, 2005, Tallinn, Estonia
|
REVIEW
"Arthur Gittleman : Reviewer"
Lua is a simple, small, dynamically typed language used in industrial applications and game development. Since 1993, Ierusalimschy has been a principal developer of Lua. This paper presents a way to implement a compiler for Microsoft's common lang
more...
|