"함수형 프로그래밍"의 두 판 사이의 차이

잔글
 
예를 들어서 1에서 10까지 숫자로 이루어진 리스트의 각 원소를 제곱하고 싶다고 하자. 명령형 언어에서는 반복문을 이용하여 리스트를 훑어 가며 각 원소를 제곱하겠지만, 함수형 언어에서는 리스트를 다루는 고계 함수로 이를 처리할 수 있다. 다음은 [[하스켈]]을 이용하여 이를 수행한 예를 보여준다.
<source lang="haskell">
map (\x -> x * x) [1..10]
</source>
여기서 <code>[1..10]</code>은 1에서 10까지 숫자로 이루어진 [[리스트 (컴퓨터)|리스트]]다. 고계 함수 <code>map</code>은 첫 번째 인수로 주어진 함수(여기서는 제곱을 수행하는 익명함수)를 두 번째 인수로 주어진 [[리스트 (컴퓨터)|리스트]]의 각 원소에 적용한 결과 리스트를 반환한다. 위 코드를 수행하면 다음과 같은 결과를 얻을 수 있다.
[1,4,9,16,25,36,49,64,81,100]