R. Ierusalimschy. Functional and Constraint Logic Programming, volume 5979 of Lecture Notes in Computer Science, Springer, Berlin / Heidelberg, (2010)
DOI: 10.1007/978-3-642-11999-6_1
Abstract
Lua is a scripting language used in many industrial applications, with an emphasis on embedded systems and games. Two key points in the design of the language that led to its widely adoption are flexibility and small size. To achieve these two conflicting goals, the design emphasizes the use of few but powerful mechanisms, such as first-class functions, associative arrays, coroutines, and reflexive capabilities. As a consequence of this design, although Lua is primarily a procedural language, it is frequently used in several different programming paradigms, such as functional, object-oriented, goal-oriented, and concurrent programming, and also for data description. In this paper we discuss what mechanisms Lua features to achieve its flexibility and how programmers use them for different paradigms.
%0 Book Section
%1 springerlink:10.1007/978-3-642-11999-6_1
%A Ierusalimschy, Roberto
%B Functional and Constraint Logic Programming
%C Berlin / Heidelberg
%D 2010
%E Escobar, Santiago
%I Springer
%K Language Lua
%P 1-12
%R 10.1007/978-3-642-11999-6_1
%T Programming with Multiple Paradigms in Lua
%U http://dx.doi.org/10.1007/978-3-642-11999-6_1
%V 5979
%X Lua is a scripting language used in many industrial applications, with an emphasis on embedded systems and games. Two key points in the design of the language that led to its widely adoption are flexibility and small size. To achieve these two conflicting goals, the design emphasizes the use of few but powerful mechanisms, such as first-class functions, associative arrays, coroutines, and reflexive capabilities. As a consequence of this design, although Lua is primarily a procedural language, it is frequently used in several different programming paradigms, such as functional, object-oriented, goal-oriented, and concurrent programming, and also for data description. In this paper we discuss what mechanisms Lua features to achieve its flexibility and how programmers use them for different paradigms.
@incollection{springerlink:10.1007/978-3-642-11999-6_1,
abstract = {Lua is a scripting language used in many industrial applications, with an emphasis on embedded systems and games. Two key points in the design of the language that led to its widely adoption are flexibility and small size. To achieve these two conflicting goals, the design emphasizes the use of few but powerful mechanisms, such as first-class functions, associative arrays, coroutines, and reflexive capabilities. As a consequence of this design, although Lua is primarily a procedural language, it is frequently used in several different programming paradigms, such as functional, object-oriented, goal-oriented, and concurrent programming, and also for data description. In this paper we discuss what mechanisms Lua features to achieve its flexibility and how programmers use them for different paradigms.},
added-at = {2010-12-13T20:15:41.000+0100},
address = {Berlin / Heidelberg},
affiliation = {PUC-Rio Rio de Janeiro Brazil},
author = {Ierusalimschy, Roberto},
biburl = {https://www.bibsonomy.org/bibtex/27f534bce83a7c04edac22b87e387607c/gron},
booktitle = {Functional and Constraint Logic Programming},
description = {SpringerLink - Abstract},
doi = {10.1007/978-3-642-11999-6_1},
editor = {Escobar, Santiago},
interhash = {22137011b29a0685d2a77f2be5e02ddc},
intrahash = {7f534bce83a7c04edac22b87e387607c},
keywords = {Language Lua},
pages = {1-12},
publisher = {Springer},
series = {Lecture Notes in Computer Science},
timestamp = {2010-12-13T20:15:41.000+0100},
title = {Programming with Multiple Paradigms in Lua},
url = {http://dx.doi.org/10.1007/978-3-642-11999-6_1},
volume = 5979,
year = 2010
}