Higher-order programming

Higher-order programming is a style of computer programming that uses software components, like functions, modules or objects, as values. It is usually instantiated with, or borrowed from, models of computation such as lambda calculus which make heavy use of higher-order functions. A programming language can be considered higher-order if components, such as procedures or labels, can be used just like data. For example, these elements could be used in the same way as arguments or values.

Comment
enHigher-order programming is a style of computer programming that uses software components, like functions, modules or objects, as values. It is usually instantiated with, or borrowed from, models of computation such as lambda calculus which make heavy use of higher-order functions. A programming language can be considered higher-order if components, such as procedures or labels, can be used just like data. For example, these elements could be used in the same way as arguments or values.
Has abstract
enHigher-order programming is a style of computer programming that uses software components, like functions, modules or objects, as values. It is usually instantiated with, or borrowed from, models of computation such as lambda calculus which make heavy use of higher-order functions. A programming language can be considered higher-order if components, such as procedures or labels, can be used just like data. For example, these elements could be used in the same way as arguments or values. For example, in higher-order programming, one can pass functions as arguments to other functions and functions can be the return value of other functions (such as in macros or for interpreting). This style of programming is mostly used in functional programming, but it can also be very useful in object-oriented programming. A slightly different interpretation of higher-order programming in the context of object-oriented programming are higher order messages, which let messages have other messages as arguments, rather than functions. Prominent examples of languages supporting this are Wolfram Language, C#, Java, ECMAScript (ActionScript, JavaScript, JScript), F#, Haskell, Lisp (Common Lisp, Scheme, Clojure, others), Lua, Oz, Perl, PHP, Prolog, Python, Ruby, Smalltalk, Scala, ML, and Erlang.
Hypernym
Style
Is primary topic of
Higher-order programming
Label
enHigher-order programming
Link from a Wikipage to an external page
w3future.com/html/stories/hop.xml
Link from a Wikipage to another Wikipage
ActionScript
Category:Programming paradigms
Clojure
Common Lisp
Computer programming
C Sharp (programming language)
ECMAScript
Erlang (programming language)
F Sharp (programming language)
Function (programming)
Functional programming
Haskell (programming language)
Higher-order function
Higher-order logic programming
Higher order message
Interpreter (computing)
Java (programming language)
JavaScript
JScript
Lambda calculus
Lisp (programming language)
Lua (programming language)
Macro (computer science)
ML (programming language)
Object-oriented programming
Oz (programming language)
Perl
PHP
Prolog
Python (programming language)
Return value
Ruby (programming language)
Scala (programming language)
Scheme (programming language)
Smalltalk
Wolfram Language
SameAs
4mjF3
Higher-order programming
m.08747
Programmazione di ordine superiore
Q5757971
Програмування вищого порядку
Subject
Category:Programming paradigms
WasDerivedFrom
Higher-order programming?oldid=1121157073&ns=0
WikiPageLength
2980
Wikipage page ID
2855963
Wikipage revision ID
1121157073
WikiPageUsesTemplate
Template:Compu-prog-stub
Template:More citations needed
Template:One source
Template:Reflist