A Tour of Schism: A Partial Evaluation System For Higher-Order Applicative Languages
A simple module facility allows the user to write a program in different files, and to create and use function libraries. Besides easing the programming stage, this facility makes it possible to split the preprocessing phase into two parts to factorize computations. The first part consists of the treatments local to each module (e. g., simplification, automatic annotation). These treatments are performed only once and the processed module is used every time it is included in a stand-alone program. The second part includes the phases that perform global computations such as binding-time analysis.