Risc Os Lua

lua-users home
wiki

This is an index of the Lua universe on RISC OS

Binaries and native builds

RiscLua uses 32-bit integers for its number type, though arbitrary precision numbers can be used via the bc library. Bit-twiddling operators are provided as extensions to the VM. The riscos library provides a directory iterator and filetype function, and mimics BBC Basic's access to the operating system in providing functions dim and sys and operators !,? and $. These operators are implemented as tables, with metamethods so that, for example ? appears to be a table of byte-values indexed by addresses. The dim function creates a userdatum pointing to a block of allocated memory. It returns the address of the block. As a side-effect it assigns the userdatum as the value of the built-in table riscos.block indexed by its address. So (in the environment of riscos) the statement

local x = dim (array_size)

creates an array at the address x, which can be rendered garbage-collectible by the statement

block[x] = nil

The expression #block[x] returns array_size if the array is live and nil otherwise.

RiscLua uses Peter Shook's patch to provide statements

local <varlist> in <table_expr>

and offers the syntactic sugar \ (for function) and => (for return). Compound assignment statements can be used (but not for multi-assignments).

Sadly RISC OS has as yet no dynamic linking facility, so loadlib cannot be used.

The StrongED editor has a Lua mode for syntax colouring and provides a development environment: a Lua script in one window can act on the text in another and put its output into yet another (or replace it).


RecentChanges · preferences
edit · history
Last edited March 28, 2014 5:28 pm GMT (diff)