Functional Programming Paradigm: Difference between revisions

From GM-RKB
Jump to navigation Jump to search
m (Text replacement - "ments]]" to "ment]]s")
m (Text replacement - "ions]] " to "ion]]s ")
 
Line 31: Line 31:
=== 2015 ===
=== 2015 ===
* ([[2015_PropositionsAsTypes|Wadler, 2015]]) ⇒ [[Philip Wadler]]. ([[2015]]). “Propositions As Types.” In: [[Communications of the ACM Journal]], 58(12). [http://dx.doi.org/10.1145/2699407 doi:10.1145/2699407]  
* ([[2015_PropositionsAsTypes|Wadler, 2015]]) ⇒ [[Philip Wadler]]. ([[2015]]). “Propositions As Types.” In: [[Communications of the ACM Journal]], 58(12). [http://dx.doi.org/10.1145/2699407 doi:10.1145/2699407]  
** [[Propositions as Types]] observes a [[deep correspondence]] between [[mathematical logic|logic]] and [[computation theory|computation]]: [[propositions in a logic]] correspond to [[types in programming language]]; [[proofs of propositions]] corresponse to [[programs of the corresponding type]]; and [[simplification of proofs]] corresponds to [[evaluation of programs]].
** [[Propositions as Types]] observes a [[deep correspondence]] between [[mathematical logic|logic]] and [[computation theory|computation]]: [[propositions in a logic]] correspond to [[types in programming language]]; [[proofs of proposition]]s corresponse to [[programs of the corresponding type]]; and [[simplification of proofs]] corresponds to [[evaluation of programs]].
** [[Propositions as Types]] is broadly applicable, applying to a wide variety of [[logics]] ([[intuitionistic logic|intuitionistic]], [[second-order logic|second-order classical]], [[linear logic|linear]]) and of [[language feature]]s ([[lambda calculus parametric polymorphism]], [[continuation]]s, [[concurrency]]).
** [[Propositions as Types]] is broadly applicable, applying to a wide variety of [[logics]] ([[intuitionistic logic|intuitionistic]], [[second-order logic|second-order classical]], [[linear logic|linear]]) and of [[language feature]]s ([[lambda calculus parametric polymorphism]], [[continuation]]s, [[concurrency]]).
** Often the same [[idea]]s are discovered independently by [[logician]]s and [[computer scientist]]s, demonstrating some asepects of [[programming language design]] are not [[arbitrary]] but [[absolute]].
** Often the same [[idea]]s are discovered independently by [[logician]]s and [[computer scientist]]s, demonstrating some asepects of [[programming language design]] are not [[arbitrary]] but [[absolute]].

Latest revision as of 07:30, 22 August 2024

A Functional Programming Paradigm is a declarative programming paradigm that emphasizes the evaluation of pure functions and avoids state and mutable data.



References

2023

  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. Hughes, John (1984). "Why Functional Programming Matters".

2015

2014

1999