  We present a domain-independent algorithm that computes macros in a novel
way. Our algorithm computes macros "on-the-fly" for a given set of states and
does not require previously learned or inferred information, nor prior domain
knowledge. The algorithm is used to define new domain-independent tractable
classes of classical planning that are proved to include \emph{Blocksworld-arm}
and \emph{Towers of Hanoi}.
