Lisp: General Programming?

Hello guys,
I am very interested in the Common Lisp programming language, but I need to know if it can be used as a general programming language. As in, if I wanted to create an IDE for three separate languages, then make an image editing programs after that, then make some other program, etc. Would Lisp work for all of these? Also, I haven't heard anything about Lisp GUI programming. Does Lisp support GUI programming, or can I use some other libraries for it, or how would that work?