Elementary strong functional programming [chapter]

D. A. Turner
1995 Lecture Notes in Computer Science  
Functional programming is a good idea, but we haven't got it quite right yet. What we have been doing up to now is weak (or partial) functional programming. What we should be doing is strong (or total) functional programming -in which all computations terminate. We propose an elementary discipline of strong functional programming. A key feature of the discipline is that we introduce a type distinction between data, which is known to be finite, and codata, which is (potentially) infinite.
doi:10.1007/3-540-60675-0_35 fatcat:bdqjo72z6nbatnp4lainzotq6a