Programming Languages That Grow Themselves
Extensible programming allows software to modify its own underlying language, compiler, and environment. Instead of following rigid rules, these systems can evolve to support new features on the fly.
During the 1960s, computer scientists dreamed of languages that could be customized by the programmer to fit specific tasks. This movement largely faded when standardized, rigid languages took over in the 1970s. However, the rise of complex modern software has sparked a massive revival of this idea. Today, developers use these principles to create flexible tools that adapt to the unique needs of their projects.
Source: Extensible programming