SelfReference is a strange thing. Some examples: * The descriptions of the tables of a RelationalDatabase are themselves stored in a table. * The descriptions of classes in languages like SmalltalkLanguage or JavaLanguage are instances of themselves. * Software companies are using DogFood. So SelfReference is something which goes across the boundaries of distinctions. (table vs row, class vs instance, developer vs customer). [See MetaPattern for a very similar page.] ---- Compare RecursionRecursion See also FeedbackLoop (as in ControlSystem) Compare SelfModifyingCode.