Abstract is: 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. 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, Clojure, Wolfram Language, Racket, Erlang, Elixir, OCaml, Haskell, and F#. Functional programming is also key to some languages that have found success in specific domains, like JavaScript in the Web, R in statistics, J, K and Q in financial analysis, and XQuery/XSLT for XML. Domain-specific declarative languages like SQL and Lex/Yacc use some elements of functional programming, such as not allowing mutable values. In addition, many other programming languages support programming in a functional style or have implemented features from functional programming, such as C++11, C#, Kotlin, Perl, PHP, Python, Go, Rust, Raku, Scala, and Java (since Java 8).
computer science term | Q66747126 |
programming paradigm | Q188267 |
declarative programming | Q531152 |
P1617 | BBC Things ID | a079820c-5a59-4f97-a9bf-f757447c2c90 |
P268 | Bibliothèque nationale de France ID | 121910539 |
P508 | BNCF Thesaurus ID | 64923 |
P6564 | Brilliant Wiki ID | functional-programming |
P4746 | Elhuyar ZTH ID | 136421 |
P1417 | Encyclopædia Britannica Online ID | technology/functional-language |
P646 | Freebase ID | /m/02ykw |
P9100 | GitHub topic | functional-programming |
P227 | GND ID | 4198740-8 |
P244 | Library of Congress authority ID | sh87007844 |
P11810 | Mastodon instance URL | https://functional.cafe |
P6366 | Microsoft Academic ID | 42383842 |
P8189 | National Library of Israel J9U ID | 987007541542105171 |
P950 | National Library of Spain ID | XX547935 |
P6900 | NicoNicoPedia ID | 関数型プログラミング |
P691 | NL CR AUT ID | ph572639 |
P4215 | nLab ID | functional programming |
P1245 | OmegaWiki Defined Meaning | 975428 |
P10283 | OpenAlex ID | C42383842 |
P1051 | PSH ID | 6639 |
P3417 | Quora topic ID | Functional-Programming |
P6611 | Semantic Scholar topic ID | 53988 |
P1482 | Stack Exchange tag | https://stackoverflow.com/tags/functional-programming |
P3984 | subreddit | functionalprogramming |
P3553 | Zhihu topic ID | 19585411 |
P5008 | on focus list of Wikimedia project | Wikipedia:Vital articles/Level/4 | Q6173448 |
P443 | pronunciation audio | Audio pronunciation file from the Lingua Libre project. License: CC BY-SA 4.0 Artists:
This work is copyrighted. Attribution is required. | |
P989 | spoken text audio | This is a spoken word version of the Wikipedia article: Functional_programming License: CC BY-SA 3.0 Artists: Speaker: Mangst This work is copyrighted. Attribution is required. | |
P910 | topic's main category | Category:Functional programming | Q7467456 |
Q114453484 | Anil Madhavapeddy |
Q7573619 | Apache Spark |
Q943361 | Corrado Böhm |
Q102289431 | Giuseppe Castagna |
Q124639587 | Jason Hemann |
Q122908575 | Luca Antiga |
Q121889608 | Michel Charpentier |
Q15432950 | Paul Hudak |
Q102228157 | Rector (Rex) L. Page |
Q112500994 | Robert Fischer |
Q20731777 | Valeria de Paiva |
Q102425134 | William Edward Byrd |
Q3570727 | Xavier Leroy |
Q57526656 | A Functional Programming Framework for Latency Insensitive Protocol Validation |
Q37028756 | A curated transcriptome dataset collection to investigate the functional programming of human hematopoietic cells in early life |
Q85827668 | An Open-Source Sandbox for Increasing the Accessibility of Functional Programming to the Bioinformatics and Scientific Communities |
Q56048079 | Caml trading – experiences with functional programming on Wall Street |
Q55871443 | Conception, evolution, and application of functional programming languages |
Q99558913 | DESCRIPTION, SYNTHESIS AND SIMULATION OF DIGITAL CIRCUIT BY FUNCTIONAL PROGRAMMING LANGUAGE |
Q37655024 | Distinct functional programming of human fetal and adult monocytes |
Q24607877 | Distinctive sequence organization and functional programming of an Alu repeat promoter |
Q114021309 | Engaging, Large-Scale Functional Programming Education in Physical and Virtual Space |
Q53697635 | Ethylmercury and breastfeeding as confounders in outcomes of functional programming: Where are they? |
Q59562937 | Feature (De)composition in Functional Programming |
Q109297739 | Flipping and Blending—An Action Research Project on Improving a Functional Programming Course |
Q57006972 | Functional Programming Languages and Computer Architecture |
Q92739788 | Functional Programming of Innate Immune Cells in Response to Bordetella pertussis Infection and Vaccination |
Q52745828 | Functional programming and planning for the operating suite: location, traffic flow, supply lines. |
Q114850206 | Functional programming concepts and straight-line programs in computer algebra |
Q67549842 | Functional programming for inpatient pediatric care |
Q30457483 | Functional programming of the autonomic nervous system by early life immune exposure: implications for anxiety. |
Q69605615 | Functional programming of the hospital pharmacy |
Q39506654 | Functional programming work in modernisation planning methods |
Q99558935 | IMPLEMENTING AN EVENT-DRIVEN WINDOW SYSTEM IN FUNCTIONAL PROGRAMMING LANGUAGE SML |
Q29027179 | Imperative functional programming |
Q1666458 | International Conference on Functional Programming |
Q53473207 | Laboratory automation in a functional programming language. |
Q35634612 | Low functional programming of renal AT2R mediates the developmental origin of glomerulosclerosis in adult offspring induced by prenatal caffeine exposure |
Q36780344 | Methylmercury toxicity and functional programming |
Q56795473 | Methylmercury toxicity and functional programming |
Q56214396 | Models for machine learning and data mining in functional programming |
Q108044841 | Monads for functional programming |
Q114021312 | Proceedings Tenth and Eleventh International Workshop on Trends in Functional Programming In Education |
Q99548347 | REPRESENTATION OF CONCURRENT-SOFTWARE-MACHINE MODULE IN THE FUNCTIONAL PROGRAMMING SYSTEM |
Q99958175 | Representation of the Network of Nestable Concurrent-Software-Machines in the Functional Programming System |
Q55952777 | SSA is functional programming |
Q113313826 | Scientific computation and functional programming |
Q113318139 | Some New Approaches in Functional Programming Using Algebras and Coalgebras |
Q16889089 | Symposium on Trends in Functional Programming |
Q91666436 | T-bet optimizes CD4 T-cell responses against influenza through CXCR3-dependent lung trafficking but not functional programming |
Q58008876 | The Promises of Functional Programming |
Q89621143 | Transcriptional and Functional Programming of Decidual Innate Lymphoid Cells |
Q62015626 | Using functional programming to recognize named structure in an optimization problem: Application to pooling |
Q62874471 | Why functional programming matters |
Q104587954 | Wikifunctions |
Q106243157 | fourth international conference on Functional programming languages and computer architecture, FPCA 1989, London, UK, September 11-13, 1989 |
Q3839507 | functional programming language | manifestation of | P1557 |
Q1418502 | procedural programming | different from | P1889 |
Q92949 | Simon Peyton Jones | interested in | P2650 |
Q1579914 | monad | part of | P361 |
uri / http://www.wikidata.org/entity/L455673-S1 | L455673-S1 | item for this sense | P5137 |
Q7248516 | Prograph | influenced by | P737 |
Search more.