Thanks everyone for expressing interest in iLuaBox! I've sent out several promotional codes that allow downloading iLuaBox 1.0 from the App Store for free. I still have a few left, so please let me know if I missed anyone.
To make some points sticky, here is some text from my emails that went out today:
As you know from our recent news, iLuaBox provides an intuitive environment to learn about, write, and test scripts written in the Lua Programming Language. Our primary goal for the first release is to get a solid and reliable tool out into developers hands while maintaining a practical level of simplicity. As such, we held back on the bells and whistles in order to keep the initial experience straightforward and focused on basic functionality.
With respect to a question about how iLuaBox was optimized for the iPad, here are a few points on that:
- The Lua interpreter runs in its own thread isolated from the user interface (Apple UIKit). This will help in future versions where multiple instances will run on the same machine. RPC-like functionality will eventually work between instances on the device and different devices.
- Execution can be interrupted with the break button.
- Standard input and output buffers redirected to another process for screen rendering.
- Of course the iLua library that contain new functions tied to the underlaying iOS device hardware.
iLuaBox is one part of a platform system we have in the works. Cooperative Lua code running on iOS devices, custom embedded devices (see eLua Project: http://www.eluaproject.net
), and mains powered systems (i.e. Mac Desktop / Server). A distributed but tightly coupled system doing... I can't share all the details yet.
While we have a list of interesting features we think will make iLuaBox even better, customer feedback will play a critical role in development priorities. Please feel free to send us feedback and suggestions on how iLuaBox can be improved.
Here are a few more bits about iLuaBox:
- ILuaBox features a text user interface containing two display areas corresponding by name to the standard input and standard output streams.
- The output display is not writable whereas the input display can be edited using the on-screen virtual keyboard or a Bluetooth connected hardware keyboard.
- When iLuaBox first starts, it runs the script named hello.lua. Startup behaviour along with other options can be changed from the iPad Preferences application. There is an iLuaBox section, just like sections listed for Mail, Safari, etc.
- The script hello.lua will greet you with a few comments and then it runs the extras.lua script. The extras.lua script adds a few convenience functions that display file and directory contents.
- The Lua state is maintained for the full iLuaBox session, meaning variables and function definitions are retained for the session only.
- Scripts can be listed to the input screen, making it convenient to edit. Use the command cat(filename, 1) where 1 directs output to the input screen using the out2in command behind the scenes.
- Saving the input screen requires the first line to be a comment containing the script file name (i.e. -- test.lua).
- Saving the output screen always uses the filename output.txt.
- Standard input commands (i.e. io.read) will clear the input screen every time user input is required. Use the input screen to enter your response, then click the 'E' icon on the toolbar to enter the input. We are working on a user entry method that preserves the input area during entry.
- Consider usingTextExpander from SmileOnMyMac, LLC. This utility allows you to use keyboard shortcuts to enter lengthy text in iLuaBox. We plan to make available from our Web site a pre-populated file you can import into TextExpander.
- One more think... the run icon (arrow) turns into a break button (square) that allows you to stop the script at any time.
Thanks again for your interest in iLuaBox!