Main
Language
Runtime
Tools
FAQs
Changes
Download
Licence
cheesy

The Idle Scripting Language

NEWS: Idle 0.6b released!
top of page

For the console-based version of the Idle interpreter (idle.exe, see also the tools page) this new beta is a minor upgrade, incorporating some small changes and a few new functions -- but for GUI aficionados it's a big step: this latest beta release finally integrates a module for creating simple GUIs and dialog boxes into the Idle runtime library and comes with a fully GUI-enabled interpreter (idlew.exe). The gui module supports most of the dialog box interface elements available in modern Windows systems (buttons, checkboxes, edit controls, list and combo boxes, treeviews, richedit fields, ...)

If no grave bugs rear their ugly heads in the next couple of months, the next release might indeed be the official 1.0 version of Idle!

Please see the list of changes for a short description of what changed between versions.

So what is Idle, then?
top of page

Idle is a simple but powerful scripting language, in basically the same vein as the venerable Perl or Python languages. It is, however, an altogether more lightweight application. At the core of Idle sits a tweaked and enhanced version of Lua. Idle inherits from Lua its elegant and powerful language definition as well as a highly-optimised interpreter kernel (an extremely fast compiler is included as well). Idle, like Lua, is readily extended with additional functions and libraries (which can be written either in C/C++ or in Idle itself).

This small language kernel is complemented by an extensive collection of runtime libraries, almost all of which are squeezed into a single DLL (with a size of around 230 KB) plus a few supporting Idle modules.

Depending on your requirements the most basic Idle setup consists of just three or four files:

print('.')

will produce a .exe file with a size of roundabout 10 KB. Even relatively big Idle scripts of, say, 80 KB length will typically compile to a .exe file of 40 KB or less.

More complex Idle scripts may well need further components (either in the form of pre-compiled DLLs or as modules written in Idle itself). The compiler can easily integrate all required Idle modules into an Idle executable: such a .exe file only requires the DLL runtime. This makes it possible to deploy an Idle application simply by copying two files, the compiled .exe and the runtime DLL (ie idle03.dll).

Besides the Idle standard runtime modules there are a few other modules, notably for networking and database/SQL connectivity. There are also direct interfaces to Perl and the Tiny C compiler. Indeed, the latter can be integrated with any Idle script: this makes it possible to compile and execute C code on the fly.

Who needs yet another scripting language?
top of page

See the Idle FAQ for an answer to that and a few other questions.

The Idle documentation
top of page

The documentation for Idle comes in four main parts:

If you want to get in touch about any aspect of Idle (I am especially interested in bug reports and feature suggestions), you can do so via either of the following channels:

Well, give all this a whirl and tell me what works and what, if anything, doesn't!



$$ built from index.txt 77482234d610 Fri Apr 24 18:37:04 2009 +0100 thomasl $$