From The Free On-line Dictionary of Computing: (http://www.foldoc.org/, Editor Denis Howe)
1. A program used primarily to create, manipulate, modify, or analyse other programs, such as a compiler or an editor or a cross-referencing program. Opposite: app, operating system.
2. A Unixapplication program with a simple, "transparent" (typically text-stream) interface designed specifically to be used in programmed combination with other tools (see filter, plumbing).
3. (MIT: general to students there) To work; to study (connotes tedium). The TMRC Dictionary defined this as "to set one's brain to the grindstone". See hack.
4. (MIT) A student who studies too much and hacks too little. MIT's student humour magazine rejoices in the name "Tool and Die".