Literate programming is a methodology that encourages the production of a program whose primary purpose is to explain to a human what it does, rather than to instruct a computer what to do. Each program element is clearly explained, and is presented in an order that is best for human understanding. The writer has the freedom to introduce parts of the program as they are needed-which is not necessarily the order required for compilation. The philosophy of literate programming was introduced by Donald Knuth while developing the documentation System TEX. His WEB system consists of two processes, WEAVE and TANGLE, that read a specially constructed literate program source file and produce as output a file containing compilable code and a file for input into TEX. WEB uses a batch approach that seems to hinder the development of new literate programs, and it has not been widely used outside its home base. The literate programming environment LIPED, described in this paper, aims to make the development of literate programs easier by being interactive (rather than batch as is WEB) and by providing instant access to a table of contents, a cross-reference table, and the extracted code. Language independence is achieved, and special facilities are made available to cater for modem programming paradigms. The system runs on minimal hardware and interfaces easily to existing compilers and text processors. This paper describes the background and progress of literate programming, compares the available literate programming systems, and provides an overview of LIPED.