Plua

For PLUA, see Party of the United Struggle for Africans in Angola.

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.[1] 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.

Contents

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 (in the old version) can be written as follows:

 -- HelloWorld.lua
 ptitle("Hello World")
 print ("Hello, world!")
 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 (Palm OS Program File, which is executable on any Palm Platform, provided that the runtime program is present) from the same IDE.

A breakdown of the program:

-- HelloWorld.lua

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.

ptitle("Hello World")

Defines the title at the top of the page.

print("Hello, world!")

Prints the message "Hello, world!" onscreen under the title bar.

pevent()

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(ioPending)

A breakdown of the program: The first line comment is the same as before, but the rest is a little different.

gui.title 'Hello world'

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 (and also for a single table constructor). String literals may be either single-quoted or double-quoted.

print 'Hello world!'

Prints the message "Hello, world!" onscreen under the title bar. If the optional parentheses and double quotes had been used (and they could have been), this line would be identical to the first version.

gui.event(ioPending)

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.

See also

References

External links