고차 프로그래밍

Higher-order programming

고차 프로그래밍은 기능, 모듈, 객체 등 소프트웨어 구성요소를 값으로 사용하는 컴퓨터 프로그래밍의 한 스타일이다.그것은 보통 고차 함수를 많이 사용하는 람다 미적분학과 같은 연산 모델로 즉석화되거나 차용된다.절차나 라벨과 같은 구성요소를 데이터처럼 사용할 수 있다면 프로그래밍 언어는 고차원으로 간주될 수 있다.예를 들어, 이러한 요소들은 주장이나 값과 같은 방법으로 사용될 수 있다.[1]

예를 들어, 고차 프로그래밍에서는 다른 함수에 인수로서 함수를 전달할 수 있고 다른 함수의 반환 값이 될 수 있다(매크로해석용).이러한 형식의 프로그래밍은 기능 프로그래밍에서 주로 사용되지만 객체 지향 프로그래밍에서도 매우 유용할 수 있다.객체 지향 프로그래밍의 맥락에서 고차 프로그래밍에 대한 약간 다른 해석은 메시지들이 기능보다는 인수로 다른 메시지를 가질 수 있도록 하는 고차순 메시지들이다.

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,[2] Python, Ruby, Smalltalk, Scala, ML, and Erlang.

참고 항목

참조

  1. ^ Reynolds, John C. (1972). Definitional Interpreters for Higher-Order Programming Languages (PDF) (Report). Association for Computing Machinery. 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. CiteSeerX 10.1.1.35.4505. Retrieved 2010-11-02.

외부 링크