Program structure in Lisp can be summarized as follows:
1. Forms are the basic units of computation and come in various types like self-evaluating forms, symbols, lists, and special forms.
2. Variables and functions are defined using symbols and lambda expressions. Variables can be global or local while functions can be named or anonymous.
3. Control structures like conditionals and loops are implemented using special forms. Macros allow defining new syntactic constructs that are expanded before evaluation.
4. Top-level forms interact through a read-eval-print loop and can declare global variables, constants, and functions. Special forms control aspects like compilation and loading.