Haskell before Haskell: an alternative lesson in practical logics of the ENIAC
This article expands on Curry's work on how to implement the problem of inverse interpolation on the ENIAC (1946) and his subsequent work on developing a theory of program composition (1948-1950). It is shown that Curry's hands-on experience with the ENIAC on the one side and his acquaintance with systems of formal logic on the other, were conductive to conceive a compact " notation for program construction " which in turn would be instrumental to a mechanical synthesis of programs. Since Curry's systematic programming technique pronounces a critique of the Goldstine-von Neumann style of coding, his " calculus of program composition " not only anticipates automatic programming but also proposes explicit hardware optimisations largely unperceived by computer history until Backus' famous ACM Turing Award lecture (1977). The cohesion of these findings asks for an integrative historiographical approach. An appendix gives, for the first time, a full description of Curry's arithmetic compiler.