Plua is a port of the programming languageLua 5.0.3, along with a small IDE, for the Palm Computing platform. Lua is a programming language designed at TeCGraf, the Computer Graphics Technology Group of PUC-Rio, Brazil. Plua includes some extensions to Lua to better support the Palm platform. Development has ceased on Plua, and the latest stable version of Plua 2.0 can only be downloaded from a discussion board. The prior version, Plua 1.1, is a port of Lua 4.0. The extensions differ somewhat between versions. The new version is thus sometimes called Plua 2 to avoid confusion.
Language resources
Plua has some special functions, or extensions, to support the Palm platform, including:
The compiler and interpreter is approximately 150 KB, and the compiled helloworldApp.prc shown below is approximately 2 KB. The classic hello world program can be written as follows: -- HelloWorld.lua ptitle print pevent
This text will be saved as a normal memo in the Palm, and executed by tapping the "Run" button in the IDE. Alternatively, the program can be compiled into a PRC from the same IDE. A breakdown of the program:
Line #1:
: The double dashes define the above line as a comment. All Plua memo files must be defined as such before it can be run or compiled in Plua.
Line #2:
: Defines the title at the top of the page.
Line #3:
: Prints the message "Hello, world!" onscreen under the title bar.
Line #4:
: The above command pauses the execution of the programs and waits for any interaction from the user. These include button taps, character input, or the push of a hard button.
Sample code, Plua 2
The equivalent program with the new extensions can be written as follows: -- HelloWorld.lua gui.title 'Hello world' print 'Hello world!' gui.event
A breakdown of the program: The first line comment is the same as before, but the rest is a little different.
Line #2:
: The gui.title function defines the title at the top of the page. Parentheses are optional for a Lua function call with a single string argument. String literals may be either single-quoted or double-quoted.
Line #3:
: Prints the message "Hello, world!" onscreen under the title bar. If the optional parentheses and double quotes had been used, this line would be identical to the first version.
Line #4:
: The above command pauses the execution of the programs and waits for any interaction from the user. The argument ioPending is simply a predefined number included in Plua 2 representing a request for this behavior.