GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Main page
  • Contents
  • Current events
  • Random article
  • About Wikipedia
  • Contact us
  • Help
  • Learn to edit
  • Community portal
  • Recent changes
  • Upload file
  • Special pages
  • Search
  • Donate

This view

  • Original page
  • New address

GeezerVison is showing en.wikipedia.org — Higher-order programming - Wikipedia

This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
icon
This article relies on a single source. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.
Find sources: "Higher-order programming" – news · newspapers · books · scholar · JSTOR
(June 2019) (Learn how and when to remove this message)
icon
This article needs more citations. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.
Find sources: "Higher-order programming" – news · newspapers · books · scholar · JSTOR
(June 2019) (Learn how and when to remove this message)
(Learn how and when to remove this message)

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.[1]

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.

Examples of languages supporting this are Ada, Wolfram Language, C#, Java, ECMAScript (ActionScript, JavaScript, JScript), F#, Haskell, Lisp (Common Lisp, Scheme, Clojure, others), Lua, Oz, Perl, PHP, Prolog,[2] Python, Ruby, Smalltalk, Scala, ML, and Erlang.

See also

  • Prolog#Higher-order programming
  • Higher-order logic programming

References

  1. ↑ Reynolds, John C. (1972). "Definitional Interpreters for Higher-Order Programming Languages" (PDF). Proceedings of the ACM annual conference on - ACM '72 (Report). Vol. 2. Association for Computing Machinery. pp. 717–740. doi:10.1145/800194.805852. ISBN 9781450374927. Retrieved December 19, 2021.
  2. ↑ Naish, Lee (1996). Higher-order logic programming in Prolog (Report). Department of Computer Science, University of Melbourne.

External links

  • "Higher Order Programming" by Sjoerd Visscher (Uses JavaScript as example language)
Stub icon

This computer-programming-related article is a stub. You can help Wikipedia by adding missing information.

  • v
  • t
  • e
Retrieved from "https://en.wikipedia.org/w/index.php?title=Higher-order_programming&oldid=1379969527"
Categories:
  • Programming paradigms
  • Computer programming stubs
Hidden categories:
  • Articles with short description
  • Short description matches Wikidata
  • Articles needing additional references from June 2019
  • All articles needing additional references
  • Articles with multiple maintenance issues
  • All stub articles
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.