[ANNOUNCE] Lua 3.1 -- an extensible extension language

lhf@csg.uwaterloo.ca (Luiz Henrique de Figueiredo)
11 Jul 1998 23:44:22 -0400

          From comp.compilers

Related articles
[ANNOUNCE] Lua 3.1 -- an extensible extension language lhf@csg.uwaterloo.ca (1998-07-11)
| List of all articles for this month |

From: lhf@csg.uwaterloo.ca (Luiz Henrique de Figueiredo)
Newsgroups: comp.compilers,comp.lang.misc
Date: 11 Jul 1998 23:44:22 -0400
Organization: University of Waterloo
Keywords: available

* What is Lua?
    ------------
    Lua is a programming language originally designed for extending applications,
    but also frequently used as a general-purpose, stand-alone language.
    Lua combines simple procedural syntax (similar to Pascal) with powerful
    data description constructs based on associative arrays and extensible
    semantics. Lua is dynamically typed, interpreted from bytecodes, and has
    automatic memory management, making it ideal for configuration, scripting,
    and rapid prototyping.


    Lua is implemented as a small library of C functions, written in ANSI C,
    and compiles unmodified in all known platforms. The implementation goals
    are simplicity, efficiency, portability, and low embedding cost.


    Lua has been awarded the first prize (technological category) in the Second
    Compaq Award for Research and Development in Computer Science. This award
    is a joint venture of Compaq Computer in Brazil, the Brazilian Ministry of
    Science and Technology, and the Brazilian Academy of Sciences.


* New in version 3.1
    ------------------
    + NEW FEATURE: anonymous functions with closures (via "upvalues").
    + new syntax:
        - local variables in chunks.
        - better scope control with DO block END.
        - constructors can now be also written: { record-part; list-part }.
        - more general syntax for function calls and lvalues, e.g.:
            f(x).y=1
            o:f(x,y):g(z)
            f"string" is sugar for f("string")
    + strings may now contain arbitrary binary data (e.g., embedded zeros).
    + major code re-organization and clean-up; reduced module interdependecies.
    + no arbitrary limits on the total number of constants and globals.
    + support for multiple global contexts.
    + better syntax error messages.
    + new traversal functions "foreach" and "foreachvar".
    and more...


* Availability
    ------------
    Lua is freely available for both academic and commercial purposes and
    can be downloaded from the sites below. The current version is 3.1.


        Home page: http://www.tecgraf.puc-rio.br/lua/
http://csg.uwaterloo.ca/~lhf/lua/
        In Brazil: ftp://ftp.tecgraf.puc-rio.br/pub/lua/lua.tar.gz
        In Canada: ftp://csg.uwaterloo.ca/pub/lhf/lua/lua.tar.gz
        In Germany: ftp://ftp.uni-trier.de/pub/languages/lua/lua.tar.gz
        In Greece: ftp://ftp.ntua.gr/pub/lang/lua/lua.tar.gz


* Contacting the authors
    -----------------------
    Lua has been developed by TeCGraf, the Computer Graphics Technology Group
    of PUC-Rio (the Pontifical Catholic University of Rio de Janeiro in Brazil).
    TeCGraf is a laboratory of the Department of Computer Science.
    Dozens of industrial products developed by TeCGraf use Lua.


    Send your comments, bug reports and anything else to lua@tecgraf.puc-rio.br.
    For reporting bugs, try also the mailing list: lua-l@tecgraf.puc-rio.br


--
--
Luiz Henrique de Figueiredo http://csg.uwaterloo.ca/~lhf/
Computer Systems Group, Department of Computer Science, University of Waterloo
Waterloo, Ontario, Canada N2L 3G1 (519) 888-4567-1-5517, fax (519) 746-5422
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.