What is an reflective tower?
A reflective tower is a model for language extension. It is modeled as an infinite (tower) series of interpreters. Each interpreter is executing a program which is the interpreter one level bellow it with the programmers' program being at level 0.

Each program is a piece of code that performs computation and in that sense a function but it is also a modifiable struct (it is a data-structure).

You can read about it here