Higher order programming
   HOME

TheInfoList



OR:

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. For example, in higher-order programming, one can pass function (programming), functions as arguments to other functions and functions can be the return value of other functions (such as in macro (computer science), macros or for interpreter (computing), 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 Sharp (programming language), C#, Java (programming language), Java, ECMAScript (ActionScript, JavaScript, JScript), F Sharp (programming language), F#, Haskell (programming language), Haskell, Lisp (programming language), Lisp (Common Lisp, Scheme (programming language), Scheme, Clojure, others), Lua (programming language), Lua, Oz (programming language), Oz, Perl, PHP, Prolog, Python (programming language), Python, Ruby (programming language), Ruby, Smalltalk, Scala (programming language), Scala, ML (programming language), ML, and Erlang (programming language), Erlang.


See also

*Prolog#Higher-order programming *Higher-order logic programming


References


External links


"Higher Order Programming"
by Sjoerd Visscher (Uses JavaScript as example language) Programming paradigms {{compu-prog-stub