- Jean-Raymond Abrial. The {B}-Book: Assigning Programs to Meanings. Cambridge University Press, 1996.
- Roland Carl Backhouse. Program Construction: Calculating Implementations from
Specifications. John Wiley {\&} Sons, Ltd., 2003.
- Roland Carl Backhouse. Algorithmic Problem Solving. Wiley, 2011.
- Jon Louis Bentley. Programming Pearls. Addison-Wesley, 1986.
- Richard Simpson Bird. Introduction to Functional Programming using Haskell. Prentice Hall, 1998.
- Richard Simpson Bird. Pearls of Functional Algorithm Design. Cambridge University Press, 2010.
- Richard Simpson Bird. An introduction to the theory of lists. In Broy, Manfred, editors, Logic of Programming and Calculi of Discrete Design, NATO ASI Series F no. 36, pages 5-42. Springer-Verlag, 1987.
- Richard Simpson Bird. Using circular programs to eliminate multiple traversals
of data. Acta Informatica, 21(3):239-250, 1984.
- Richard Simpson Bird, Oege de Moor, and Paul F. Hoogendijk. Generic functional programming with types and relations. Journal of Functional Programming, 6(1):1-28, 1996.
- Rod M. Burstall and John Darlington. A transformation system for developing recursive
programs. Journal of the ACM, 24(1):44-67, 1977.
- Haskell Brooks Curry. Some philosophical aspects of combinatory logic. In Barwise, Jon and Keisler, H. Jerome and Kunen, Kenneth, editors, The Kleene Symposium, pages 85-101. North-Holland, 1980.
- Edsger Wybe Dijkstra. The notational conventions {I} adopted, and why. EWD 1300, 2000.
- Edsger Wybe Dijkstra. The next fifty years. EWD 1243, Eindhoven University of Technology, 2004.
- Edsger Wybe Dijkstra. Programming as a discipline of mathematical nature. American Mathematical Monthly, 81(6):608-612, May 1974. EWD 361
- Edsger Wybe Dijkstra and Antonetta Johanna Maria van Gasteren. On naming. AvG 67 / EWD 958, 1986.
- Edsger Wybe Dijkstra and Carel S. Scholten. Predicate Calculus and Program Semantics. Springer-Verlag, 1990.
- Friedrich Ludwig Gottlob Frege. Function and concept. Translated by {P}eter {T}. {G}each. In Geach, Peter T and Black, Max, editors, Translations from the Philosophical Writings of Gottlob
Frege, pages 21-41. Basil Blackwell, 1960.
- Jeremy Gibbons. Calculating Functional Programs. In Proceedings of ISRG/SERG Research Colloquium, November 1997.
- Jeremy Gibbons, Graham Hutton, and Thorsten Altenkirch. When is a function a fold or an unfold?. In Corradini, Andrea and Lenisa, Marina and Montanari, Ugo, editors, Workshop on Coalgebraic Methods in Computer Science, Electronic Notes in Theoretical Computer Science no. 44.1, Elsevier Science Publishers, April 2001.
- David Gries and Fred B. Schneider. Calculational logic. \url{https://www.cs.cornell.edu/gries/Logic/intro.html}, 2003.
- David Gries and Fred B. Schneider. A Logical Approach to Discrete Math. Springer, October 22, 1993.
- Ralf Hinze. La tour D'{H}ano{\"{i}}. In Tolmach, Andrew, editors, International Conference on Functional Programming, pages 3-10. ACM Press, 2009.
- Charles Anthony Richard Hoare. Quicksort. The Computer Journal, 5(1):10--16, January 1962.
- Charles Anthony Richard Hoare. Algorithm 63: Partition. Communications of the ACM, 4(7):321, 1961.
- Charles Anthony Richard Hoare. Algorithm 64: Quicksort. Communications of the ACM, 4(7):321, 1961.
- Charles Anthony Richard Hoare. Algorithm 65: Find. Communications of the ACM, 4(7):321-322, 1961.
- Zhenjiang Hu, Hideya Iwasaki, Masato Takeichi, and Akihiko Takano. Tupling calculation eliminates multiple data traversals. In Peyton Jones, Simon L. and Tofte, Mads, editors, International Conference on Functional Programming, pages 164-175. ACM Press, 1997.
- Paul Hudak, R. John Muir Hughes, Simon L. Peyton Jones, and Philip Lee Wadler. A history of {H}askell: being lazy with class. In Ryder, Barbara and Hailpern, Brent, editors, History of Programming Languages III, pages 1-55. ACM Press, 2007.
- R. John Muir Hughes. A novel representation of lists and its application to the
function ``reverse''. Information Processing Letters, 22:141-144, 1986.
- Graham Hutton. Programming in Haskell, 2nd Edition. Cambridge University Press, 2016.
- Anne Kaldewaij. Programming: the Derivation of Algorithms. Prentice Hall, 1990.
- Zohar Manna and John McCarthy. Properties of programs and partial function logic. In Meltzer, Bernard and Michie, Donald, editors, Machine Intelligence, pages 27-37. Edinburgh University Press, 1969.
- Zohar Manna and Amir Pnueli. Formalization of properties of functional programs. Journal of the ACM, 17(3):555-569, 1970.
- Joseph Mazur. Enlightening Symbols: A Short History of Mathematical
Notation and Its Hidden Powers. Princeton University Press, 2014. 中譯本:啟蒙的符號:數學符號的誕生、演化和隱藏的力量。譯者:洪萬生,
洪贊天, 英家銘, 黃俊瑋, 黃美倫,
鄭宜瑾。臉譜出版社,2015.
- Jayadev Misra. A visionary decision. In Broy, Manfred, editors, Constructive Methods in Computing Science: International
Summer School directed by F.L. Bauer, M. Broy, E.W.
Dijkstra, C.A.R. Hoare, pages 1-3. Springer-Verlag, 1989.
- Shin-Cheng Mu. Maximum segment sum is back: deriving algorithms for two
segment problems with bounded lengths. In Gl{\"{u}}ck, Robert and de Moor, Oege, editors, Symposium on Partial Evaluation and Semantics-based
Program Manipulation, pages 31-39. ACM Press, jan 2008.
- Shin-Cheng Mu and Richard Simpson Bird. Theory and applications of inverting functions as folds. Science of Computer Programming (Special Issue for
Mathematics of Program Construction), 51:87-116, 2003.
- Garson O'Toole. Hemingway Didn't Say That: The Truth Behind Familiar
Quotations, Chapter With great power comes great responsibility, Little A, 2017. Published online on Quote Investigator:
\url{https://quoteinvestigator.com/2015/07/23/great-power/}
- Chris Okasaki. Red-black trees in a functional setting. Journal of Functional Programming, 9(4):471-477, 1999.
- Nandakumar Sankar, Lloyd Allis, Jonathan Seldi, Jack Camp, Stefan Kahr, Gary Leave, Richard Botti, Antoni Dill, David A. Turner, and James Picton-Warlow. Currying, or Schonfinkeling?. \url{http://computer-programming-forum.com/23-functional/976f118bb90d8b15.htm}, May 1997.
- Moses Sch{\"{o}}nfinkel. Ub{\"{e}}r die Bausteinen der mathematische Logik. Mathematische Annalen, 92:305-316, 1924. Translated by Stefan Bauer-Mengelberg as ``On the building
blocks of mathematical logic'' in Jean van Heijenoort,
1967. {\it A Source Book in Mathematical Logic},
1879--1931.
- Jan L.A. van de Snepscheut. What Computing Is All About. Springer, 1993.
- Christopher Strachey. Fundamental concepts in programming languages. Higher-Order and Symbolic Computation, 13:11-49, 1967.
- Philip Lee Wadler. Monads for functional programming. In Broy, Manfred, editors, Program Design Calculi: Marktoberdorf Summer School, pages 233-264. Springer-Verlag, 1992.
- Hans Zantema. Longest segment problems. Science of Computer Programming, 18(1):39-66, 1992.