Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- https://cseweb.ucsd.edu/~goguen/pps/utyop.pdf
- Higher Order Functions Considered Unnecessary for Higher Order Programming
- It is often claimed that the essence of functional programing is the use of functions as values, i.e., of higher order functions, and many interacting examples have been given showing the power of this approach. Unfortunately, the logic of higher order functions is diffcult, and in particular, higher order unifcation is undecidable. Moreover (and closely related), higher order expressions are notoriously diffcult for humans to read and write correctly. However, this paper shows that typical higher order programming examples can be captured with just frst order functions, by the systematic use of parameterized modules, in a style that we call parameterized programming. This has the advantages that correctness proofs can be done entirely within frst order logic, and that interpreters and compilers can be simpler and more effcient.
- ... ...
- Let us consider this last example more carefully. ...
- To summarize, the difference between parameterized programming and higher order functional programming is essentially the difference between programming in the large and programming in the small. Parameterized programming does not just combine functions, it combines modules. ... Finally, note the experience of many programmers, not just naive ones, that higher order notation can be very difficult to understand and to use.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement