ISBN-13: 9783639168969 / Angielski / Miękka / 2009 / 180 str.
ISBN-13: 9783639168969 / Angielski / Miękka / 2009 / 180 str.
Circular programming is a powerful technique toexpress multiple traversal algorithms as a singletraversal function in a lazy setting. Such a(virtual) circular program may contain circulardefinitions, that is, arguments of function callsthat are also results of that same call. Althoughcircular definitions always induce non-terminationunder a strict evaluation mechanism, they cansometimes be immediately evaluated using a lazyevaluation strategy. The lazy engine is able tocompute the right evaluation order, if that orderexists. Indeed, using this style of circularprogramming, the programmer does not have to concernhim/herself with the definition and the scheduling ofthe different traversal functions, since only asingle (traversal) function has to be defined.Neither does the programmer have to defineintermediate gluing data structures to convey valuescomputed in one traversal and needed in a following one.In this book, we present our studies on the design,implementation and calculation of circular programs.