Eval was the first AddOn I ever wrote (back for WoW 1.2), when I got fed up of having to wrap
DEFAULT_CHAT_FRAME:AddMessage(tostring( ... ))
Around something every time I typed it into the
/script command.
Eval, on the simplest level, allows you to enter any Lua expression, which it will then execute and display the result in the chat log. It also recognises most Lua statements and will execute them, as well as telling you what a variable's value is when you assign to it.
Finally, it can also print out tables in a fairly sane manner. By default, it will print up to 10 items and 3 levels deep, although you can change this by fiddling with the AddOn's database (see below).
Eval has only a single slash command:
/eval (lua code)
That's it. If you want to change how it prints out tables, just play with these variables:
Eval.db.profile.maxTableDepth = 3
Eval.db.profile.maxTableItems = 10
Eval.db.profile.displayAllKeys = true