Plua


Plua is a port of the programming language Lua 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:

Sample code, Plua 1

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.