Location of Repository

Functional Programming

By Olaf Chitil

Abstract

Functional programming is a programming paradigm like object-oriented programming and logic programming. Functional programming comprises both a specific programming style and a class of programming languages that encourage and support this programming style. Functional programming enables the programmer to describe an algorithm on a high-level, in terms of the problem domain, without having to deal with machine-related details. A program is constructed from functions that only map inputs to outputs, without any other effect on the program state. Thus a function will always return the same output, regardless of when and in which context the function is used. These functions provide clear interfaces, separate concerns and are easy to reuse. A small and simple set of highly orthogonal language constructs assists in writing modular programs

Topics: QA76
Publisher: John Wiley & Sons
Year: 2009
OAI identifier: oai:kar.kent.ac.uk:24064

Suggested articles

Preview

Citations

  1. (1998). A transformation-based optimiser for Haskell. doi
  2. A truly integrated functional logic language. http://www.informatik.uni-kiel.de/~curry
  3. (1976). A truly integrated functional logic language. http://www.informatik.uni-kiel.de/~curry 22[40]
  4. (1986). An overview of Miranda. doi
  5. (1996). Building domain-specific embedded languages. doi
  6. (1978). Can programming be liberated from the von Neumann style? A functional style and its algebra of programs. doi
  7. (2001). Combinator parsers: From toys to tools. doi
  8. (1990). Common Lisp the Language, 2nd edition.
  9. (1989). Conception, evolution, and application of functional programming languages. doi
  10. (1998). Definitional interpreters for higher-order programming languages. Higher Order Symbol. doi
  11. (1999). Embedding Prolog in Haskell.
  12. (1996). Foundations for Programming Languages. doi
  13. (1998). Functional pearl: Even higher-order functions for parsing or Why would anyone ever want to use a sixth-order function? doi
  14. (1999). Garbage Collection: Algorithms for automatic dynamic memory management. doi
  15. (1999). Haskell: The Craft of Functional Programming. doi
  16. (2001). How to Design Programs: An Introduction to Programming and Computing. doi
  17. (1998). Introduction to Functional Programming using Haskell.
  18. Journal of functional programming. doi
  19. (2008). Lambda-Calculus and Combinators: An Introduction. doi
  20. (1996). ML for the Working Programmer. doi
  21. (2000). Modern Compiler Design. doi
  22. (1993). Monads for functional programming. doi
  23. (1997). More haste, less speed: lazy versus eager evaluation. doi
  24. (2003). Polish parsers, step by step. doi
  25. (1999). Principles of Program Analysis. doi
  26. (2007). Programming Erlang, Software for a Concurrent World. Pragmatic Bookshelf, doi
  27. (1997). Pure versus impure Lisp. doi
  28. (1998). Purely Functional Data Structures. doi
  29. (2000). QuickCheck: a lightweight tool for random testing of Haskell programs. doi
  30. (1976). SASL language manual.
  31. (1996). Structure and Interpretation of Computer Programs. doi
  32. (1998). Term Rewriting and All That. doi
  33. (2001). The Concurrent Clean language report, version 2.0. http://www.cs.kun.nl/~clean,
  34. (1995). The design of a pretty-printing library. doi
  35. (1993). The Formal Semantics of Programming Languages: An Introduction. Foundations of Computing series.
  36. (1998). The Functional Approach to Programming. doi
  37. (1987). The Implementation of Functional Programming Languages. doi
  38. The Mercury project. http://www.mercury.csse.unimelb.edu.au/
  39. (2007). The Objective Caml system, documentation and user’s manual. http://caml.inria.fr,
  40. (1981). The semantic elegance of applicative languages. doi
  41. Thomas Conway, Zolt´ an Somogyi, et al. The Mercury project. http://www.mercury.csse.unimelb.edu.au/
  42. (2002). Types and Programming Languages. doi
  43. (2005). Why dependent types matter. http://www.cs.nott.ac.uk/~txa/publ/ydtm.pdf,
  44. (1989). Why Functional Programming Matters. doi

To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.