In ForthLanguage, words that are marked as "immediate" are executed at compile time ("immediately" upon being seen by the compiler) instead of run time. They have access to the full ForthLanguage. They can read ahead in the input source stream, and they can generate new compiled code while they are running. This makes ForthImmediateWords useful in extending the compiler in order to implement DomainSpecificLanguages, similar to the way that LispMacros are used.