What is an reflective tower? I've just read in a discussion about dynamic typing


  Reflective towers is an open problem for statically typed languages.


What are reflective towers? 

I think it might be related to reflection, but I'm not sure.

If you create an example, I would prefer Java.
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