Two key steps in the compilation of strict functional languages are the conversion of higher-order functions to data structures (closures) and the transformation to tail-recursive...
This paper presents a philosophy underlying CS-1 programming projects, and illustrates this philosophy with a concrete example. Integral to the philosophy is the use of Ada packag...