Global Information Lookup Global Information

Functional programming information


In computer science, functional programming is a programming paradigm where programs are constructed by applying and composing functions. It is a declarative programming paradigm in which function definitions are trees of expressions that map values to other values, rather than a sequence of imperative statements which update the running state of the program.

In functional programming, functions are treated as first-class citizens, meaning that they can be bound to names (including local identifiers), passed as arguments, and returned from other functions, just as any other data type can. This allows programs to be written in a declarative and composable style, where small functions are combined in a modular manner.

Functional programming is sometimes treated as synonymous with purely functional programming, a subset of functional programming which treats all functions as deterministic mathematical functions, or pure functions. When a pure function is called with some given arguments, it will always return the same result, and cannot be affected by any mutable state or other side effects. This is in contrast with impure procedures, common in imperative programming, which can have side effects (such as modifying the program's state or taking input from a user). Proponents of purely functional programming claim that by restricting side effects, programs can have fewer bugs, be easier to debug and test, and be more suited to formal verification.[1][2]

Functional programming has its roots in academia, evolving from the lambda calculus, a formal system of computation based only on functions. Functional programming has historically been less popular than imperative programming, but many functional languages are seeing use today in industry and education, including Common Lisp, Scheme,[3][4][5][6] Clojure, Wolfram Language,[7][8] Racket,[9] Erlang,[10][11][12] Elixir,[13] OCaml,[14][15] Haskell,[16][17] and F#.[18][19] Functional programming is also key to some languages that have found success in specific domains, like JavaScript in the Web,[20] R in statistics,[21][22] J, K and Q in financial analysis, and XQuery/XSLT for XML.[23][24] Domain-specific declarative languages like SQL and Lex/Yacc use some elements of functional programming, such as not allowing mutable values.[25] In addition, many other programming languages support programming in a functional style or have implemented features from functional programming, such as C++11, C#,[26] Kotlin,[27] Perl,[28] PHP,[29] Python,[30] Go,[31] Rust,[32] Raku,[33] Scala,[34] and Java (since Java 8).[35]

  1. ^ Hudak, Paul (September 1989). "Conception, evolution, and application of functional programming languages" (PDF). ACM Computing Surveys. 21 (3): 359–411. doi:10.1145/72551.72554. S2CID 207637854.
  2. ^ Cite error: The named reference hughesWhyFPMatters was invoked but never defined (see the help page).
  3. ^ Cite error: The named reference clinger1987 was invoked but never defined (see the help page).
  4. ^ Cite error: The named reference hartheimer1987 was invoked but never defined (see the help page).
  5. ^ Cite error: The named reference kidd2007 was invoked but never defined (see the help page).
  6. ^ Cite error: The named reference cleis2006 was invoked but never defined (see the help page).
  7. ^ "Wolfram Language Guide: Functional Programming". 2015. Retrieved 2015-08-24.
  8. ^ Cite error: The named reference Amath-CO was invoked but never defined (see the help page).
  9. ^ Cite error: The named reference racket-video-games was invoked but never defined (see the help page).
  10. ^ Cite error: The named reference erlang-faq was invoked but never defined (see the help page).
  11. ^ Cite error: The named reference armstrong2007 was invoked but never defined (see the help page).
  12. ^ Cite error: The named reference larson2009 was invoked but never defined (see the help page).
  13. ^ "The Elixir Programming Language". Retrieved 2021-02-14.
  14. ^ Cite error: The named reference minksy2008 was invoked but never defined (see the help page).
  15. ^ Cite error: The named reference leroy2007 was invoked but never defined (see the help page).
  16. ^ Cite error: The named reference haskell-industry was invoked but never defined (see the help page).
  17. ^ Cite error: The named reference hudak2007 was invoked but never defined (see the help page).
  18. ^ Mansell, Howard (2008). Quantitative Finance in F#. CUFP 2008. Retrieved 2009-08-29.
  19. ^ Peake, Alex (2009). The First Substantial Line of Business Application in F#. CUFP 2009. Archived from the original on 2009-10-17. Retrieved 2009-08-29.
  20. ^ comments, 27 Jun 2017 Matt Banz Feed 603up 2. "An introduction to functional programming in JavaScript". Opensource.com. Retrieved 2021-01-09.{{cite web}}: CS1 maint: numeric names: authors list (link)
  21. ^ Cite error: The named reference useR was invoked but never defined (see the help page).
  22. ^ Cite error: The named reference Chambers was invoked but never defined (see the help page).
  23. ^ Cite error: The named reference Novatchev was invoked but never defined (see the help page).
  24. ^ Cite error: The named reference Mertz was invoked but never defined (see the help page).
  25. ^ Cite error: The named reference Chamberlin_Boyce was invoked but never defined (see the help page).
  26. ^ Functional Programming with C# - Simon Painter - NDC Oslo 2020, archived from the original on 2021-10-30, retrieved 2021-10-23
  27. ^ "Functional programming - Kotlin Programming Language". Kotlin. Retrieved 2019-05-01.
  28. ^ Dominus, Mark J. (2005). Higher-Order Perl. Morgan Kaufmann. ISBN 978-1-55860-701-9.
  29. ^ Holywell, Simon (2014). Functional Programming in PHP. php[architect]. ISBN 9781940111056.
  30. ^ The Cain Gang Ltd. "Python Metaclasses: Who? Why? When?" (PDF). Archived from the original (PDF) on 30 May 2009. Retrieved 27 June 2009.
  31. ^ "GopherCon 2020: Dylan Meeus - Functional Programming with Go". YouTube.
  32. ^ "Functional Language Features: Iterators and Closures - The Rust Programming Language". doc.rust-lang.org. Retrieved 2021-01-09.
  33. ^ Vanderbauwhede, Wim (18 July 2020). "Cleaner code with functional programming". Archived from the original on 28 July 2020. Retrieved 6 October 2020.
  34. ^ Cite error: The named reference effective-scala was invoked but never defined (see the help page).
  35. ^ Cite error: The named reference java-8-javadoc was invoked but never defined (see the help page).

and 18 Related for: Functional programming information

Request time (Page generated in 0.9208 seconds.)

Functional programming

Last Update:

functional programming is a programming paradigm where programs are constructed by applying and composing functions. It is a declarative programming paradigm...

Word Count : 7441

Purely functional programming

Last Update:

purely functional programming usually designates a programming paradigm—a style of building the structure and elements of computer programs—that treats...

Word Count : 903

Functional reactive programming

Last Update:

Functional reactive programming (FRP) is a programming paradigm for reactive programming (asynchronous dataflow programming) using the building blocks...

Word Count : 1276

Total functional programming

Last Update:

functional programming (also known as strong functional programming, to be contrasted with ordinary, or weak functional programming) is a programming...

Word Count : 721

Comparison of functional programming languages

Last Update:

shows a comparison of functional programming languages which compares various features and designs of different functional programming languages. "LISP Introduction"...

Word Count : 817

List of programming languages by type

Last Update:

This is a list of notable programming languages, grouped by type. There is no overarching classification scheme for programming languages. Thus, in many...

Word Count : 7027

Declarative programming

Last Update:

XQuery), regular expressions, logic programming (e.g. Prolog, Datalog, answer set programming), functional programming, configuration management, and algebraic...

Word Count : 2307

Procedural programming

Last Update:

Procedural programming is a programming paradigm, classified as imperative programming, that involves implementing the behavior of a computer program as procedures...

Word Count : 985

Functional logic programming

Last Update:

Functional logic programming is the combination, in a single programming language, of the paradigms of functional programming and logic programming. This...

Word Count : 150

Reactive programming

Last Update:

In computing, reactive programming is a declarative programming paradigm concerned with data streams and the propagation of change. With this paradigm...

Word Count : 3443

International Conference on Functional Programming

Last Update:

IFIP Working Group 2.8 (Functional Programming). The conference focuses on functional programming and related areas of programming languages, logic, compilers...

Word Count : 299

List of functional programming topics

Last Update:

list of functional programming topics. Programming paradigm Declarative programming Programs as mathematical objects Function-level programming Purely...

Word Count : 205

History of programming languages

Last Update:

history of programming languages spans from documentation of early mechanical computers to modern tools for software development. Early programming languages...

Word Count : 3584

Programming paradigm

Last Update:

and the family of functional languages and logic programming. Functional programming is a subset of declarative programming. Programs written using this...

Word Count : 2322

Programming language theory

Last Update:

for structuring programs written in functional programming languages. There are several fields of study that either lie within programming language theory...

Word Count : 1616

Programming language

Last Update:

details for greater simplicity. Thousands of programming languages—often classified as imperative, functional, logic, or object-oriented—have been developed...

Word Count : 8513

Comparison of programming paradigms

Last Update:

state. Functional programming – treats programs as evaluating mathematical functions and avoids state and mutable data. Object-oriented programming (OOP) –...

Word Count : 2594

Functional

Last Update:

activities or processes in systems and software engineering Functional programming, a programming paradigm based on mathematical functions rather than changes...

Word Count : 230

PDF Search Engine © AllGlobal.net