Guile is a library designed to help programmers create flexible applications. Using Guile in an application allows programmers to write plug-ins, or modules (there are many names, but the concept is essentially the same) and users to use them to have an application fit their needs.
There is a long list of proven applications that employ extension languages. Successful and long-lived examples in the free software world are Emacs, GNU/Denemo, GNU/Lilypond, GNU/make, GnuCash.
Very popular examples of extending server applications are the Apache projects Perl and PHP modules.
Extension languages allow users, programmers, and third-party developers to add features to a program without having to re-write the program as a whole, and it allows people extending a program to co-operate with each other, without having to expend any extra effort.
Guile also has an object system called GOOPS
The Guile homepage can be found here: http://www.gnu.org/software/guile/guile.html
If you have old code that uses Guile, ttn maintains a backward-compatible Guile 2.0.x and related programs.