Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Higher-order programming

From Wikipedia, the free encyclopedia
Programming paradigm
This articlerelies largely or entirely on asingle source. Relevant discussion may be found on thetalk page. Please helpimprove this article byintroducing citations to additional sources.
Find sources: "Higher-order programming" – news ·newspapers ·books ·scholar ·JSTOR
(June 2019)
icon
This articleneeds additional citations forverification. Please helpimprove this article byadding 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)

Higher-order programming is a style ofcomputer programming that uses software components, like functions, modules or objects, as values. It is usually instantiated with, or borrowed from, models of computation such aslambda calculus which make heavy use ofhigher-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 passfunctions as arguments to other functions and functions can be thereturn value of other functions (such as inmacros or forinterpreting). This style of programming is mostly used infunctional programming, but it can also be very useful inobject-oriented programming. A slightly different interpretation of higher-order programming in the context of object-oriented programming arehigher order messages, which let messages have other messages as arguments, rather than functions.

Examples of languages supporting this areAda,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, andErlang.

See also

[edit]

References

[edit]
  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. RetrievedDecember 19, 2021.
  2. ^Naish, Lee (1996). Higher-order logic programming in Prolog (Report). Department of Computer Science, University of Melbourne.CiteSeerX 10.1.1.35.4505.

External links

[edit]


Stub icon

Thiscomputer-programming-related article is astub. You can help Wikipedia byexpanding it.

Retrieved from "https://en.wikipedia.org/w/index.php?title=Higher-order_programming&oldid=1216216798"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp