Portable Graphics Library is a simple GUI toolkit, for students and beginners, part of the Stanford Portable Library.

It is designed to be simple for students to use while learning the languages, and to be portable (goal archieved by using a java back end program and leaving Oracle deal with the gritty details of each platform).

The backend manages the windows and graphics and UI objects, and forwards events, communicating with the program thru a pipe. The SPL provides libraries in C, C++ to interfaces with the Java Back End.

The system com.informatimago.pgl implements such an interface for Common Lisp. It is bundled with the informatimago library, also available thru quicklisp.

git clone
cd com-informatimago/pgl/

Note: Currently it only works ccl, but it should be trivial to adapt it to other implementations, (only not using uiop:run-program apparently, it doesn't seem to be able to make the required stream).


pgl/examples/ball.lisp produces the following window, with the beach ball bouncing around:

beach-ball screendump