- Plua
Plua is a port of 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.
The latest stable version of "Plua" is 2.0. [http://meusite.uai.com.br/~mmand/plua/plua.htm] The previous version, Plua 1.1, is a port of Lua 4.0. The extensions differ somewhat between versions. The new version is therefore sometimes called Plua 2 to avoid confusion.
Language resources
Plua has some special functions, or extensions, to support the Palm platform, including:
* UI Components, defined by position: buttons, checkboxes, etc.
* Direct plotting of graphics based on vertex information: lines, circles, etc.
* Able to work with streams, databases or computer files on a memory card.
* Communication viaInfrared and serial ports supported.
* Rudimentary sprite engine.Sample Code in Plua 1
The compiler and interpreter is approximately 150KB , and the compiled helloworldApp.prc shown below is approximately 2KB.
The classic
hello world program (in the old version) can be written as follows: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 in Plua 2
The equivalent program with the new extensions can be written as follows:
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 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
*
Palm OS Emulator External links
* [http://tech.groups.yahoo.com/group/plua Plua Yahoo group]
* [http://meusite.uai.com.br/~mmand/plua/plua.htm "Plua 2.0" info page]
* [http://web.archive.org/web/20070102053819/http://sophonix.com/downloads/plural.asp Plural Plua IDE]
Wikimedia Foundation. 2010.