Title: Acyclic Visitor Author: Robert C. Martin Email: rmartin@oma.com Address: 14619 N. Somerset Circle, Green Oaks, IL, 60048 Phone: 847.918.1004 Fax: 847.918.1023 The Visitor Pattern allows new functions to be added to existing hierarchies without affecting those hierarchies. However, in static languages like C++, Java and Eiffel, Visitor creates a dependency cycle that causes the base class of the hierarchy to depend upon all its derivatives. This paper presents a variation of the Visitor pattern that breaks that dependency cycle by making use of multiple inheritance and run time type information.