Drobe :: The archives
About Drobe | Contact | RSS | Twitter | Tech docs | Downloads | BBC Micro

Be Lured by Lua

By Peter Naulls. Published: 30th Jan 2003, 12:55:45 | Permalink | Printable

All about RiscLua.

In the next entry in our recent competition, Steve Knutson extolls the virtues of RiscLua.

Lua was developed by Pontifical Catholic University of Rio de Janeiro, in Brazil's Computer Science Department. It is a very powerful, but extremely light-weight programming language, ideal for everything from scripting to full application development. Lua is Portuguese for moon, which makes sence when you see the logo.

Thanks to G.C. Wraith, a free, 32bit version (RiscLua) can be downloaded from http://www.lua.riscos.org.uk. It supports both RISC OS 4 and 5.

Lua is a modern programming language with built in memory management. It is designed to be extensible and small. It can be embedded in other programming languages such as C (by adding the appropriate header files) to provide scripting within an application.

Lua can be used as a smaller, faster alternative to Python and has a lower memory overhead. Python on the other hand, has a wider range of resources available, has a simple syntax and has more scientific features.

Lua was designed to be very portable (just remember that the RISC OS extensions are platform specfic), and is available on various platforms including Windows, UNIX, Mac OS, Mac OS X, BeOS and PalmOS. The source code is online for those who are keen to port a version or add some features.

RiscLua has been extended to allow access to SWIs and linking to ARM code. This allows the development of WIMP applications and access to Operating System functions. An excellent online tutorial is available on the RiscLua website, including information to get you started with WIMP applications, SWI calls and the basic syntax and features of the language.

Further information about Lua can be obtained from the official Lua website.

Previous: Artex issue TEK1608 Pyro update part deux
Next: Putting RISC OS on the map


Viewing threaded comments | View comments unthreaded, listed by date | Skip to the end

Excellent stuff -- Spriteman.

 is a RISC OS UserSpriteman on 25/1/03 8:00PM
[ Reply | Permalink | Report ]

Sorry, but I'm still a bit of a Python addict ;)

 is a RISC OS UserHertzsprung on 30/1/03 4:26PM
[ Reply | Permalink | Report ]

I'm having problems. I can't get to the website [link] form here OR from the official Lua Website


 is a RISC OS Usertim_firmager on 30/1/03 4:58PM
[ Reply | Permalink | Report ]

Lua rocks. It's useful for almost anything, and is great as an embedded scripting language (many games for the PC use it for AI scripting and such). I use it myself in projects which need scripting, although I compile my own lua libs as that's easier for me.

 is a RISC OS Usertakkaria on 30/1/03 5:09PM
[ Reply | Permalink | Report ]

The direct link to RiscLua is:


(which at the time of writing is still up)

Chris, drobe.co.uk

 is a RISC OS Userdiomus on 30/1/03 6:04PM
[ Reply | Permalink | Report ]

Lua should get more exposure. It's lovely. This isn't the first time it's been mentioned in the RISC OS world, either: [link]


 is a RISC OS Usernunfetishist on 31/1/03 12:02AM
[ Reply | Permalink | Report ]

Thanks for the kind words. I have just updated the RiscLua site ([link]) with a News and Updates section. The bouncing ball demo has been rewritten in a style that keeps the windowing part and the ball part quite separate, so brave users can experiment with it by replacing the moving ball by something else. There is a challenge for you! Tell us if you have any success.

 is a RISC OS UserGavinWraith on 31/1/03 5:16PM
[ Reply | Permalink | Report ]

What I'd like to see (if it's not been done yet) is RiscLua as a module or similar, so applications can easily embed its services, instead of statically linking to it themselves. (to provide some form of shared library.)

 is a RISC OS Usernunfetishist on 31/1/03 11:31PM
[ Reply | Permalink | Report ]

nunfetishist: I was pondering this myself some time ago. I decided that you'd want a SWI API almost identical to the Lua one, but allocating memory could be a problem then - you don't want to fill up the RMA, so you'd have to use DAs or (even better) use the application's space. Of course, this could be complete rubbish, so feel free to ignore it ;)

 is a RISC OS Usertakkaria on 1/2/03 11:35AM
[ Reply | Permalink | Report ]

If it can be done for Basic there is no reason it cannot be done for Lua. My experience with modules is very limited, and for compiling C to make modules is zero. I would like to be able to do to the luacore and stdlibs what has been done for the shared C library.

 is a RISC OS UserGavinWraith on 1/2/03 5:00PM
[ Reply | Permalink | Report ]

I would much rather see a proper shared library system for RISC OS. Making modules is all very well, but we can't do it for hundreds of Unix libraries.


Peter, drobe.co.uk

 is a RISC OS Usermrchocky on 1/2/03 6:22PM
[ Reply | Permalink | Report ]

Please login before posting a comment. Use the form on the right to do so or create a free account.

Search the archives

Today's featured article

  • Archive magazine reviewed
    A media watch special
     10 comments, latest by diomus on 27/10/07 12:01PM. Published: 23 Oct 2007

  • Random article

  • Manage your life with ToDo
    We review a simple work management tool for RISC OS
     4 comments, latest by Hairy on 8/7/07 12:00PM. Published: 7 Jul 2007

  • Useful links

    News and media:

    Top developers:
    RISCOS LtdRISC OS OpenMW SoftwareR-CompAdvantage SixVirtualAcorn

    CJE MicrosAPDLCastlea4X-AmpleLiquid SiliconWebmonster


    RISCOS.org.ukRISCOS.orgRISCOS.infoFilebaseChris Why's Acorn/RISC OS collectionNetSurf

    Non-RISC OS:
    The RegisterThe InquirerApple InsiderBBC NewsSky NewsGoogle Newsxkcddiodesign

    © 1999-2009 The Drobe Team. Some rights reserved, click here for more information
    Powered by MiniDrobeCMS, based on J4U | Statistics
    "It does appear that inaccuracy is drobes [sic] house standard at the moment"
    Page generated in 0.1058 seconds.