ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 에타 축약이란?
    컴공지식/프로그래밍언어론 2024. 10. 27. 16:25

    에타 축약(η-reduction)은 함수의 본질적인 동작이 똑같다면, 굳이 복잡하게 표현할 필요 없다는 개념이다.

    두 함수가 같은 결과를 반환한다면, 그 함수들은 같은 함수로 볼 수 있다라는 아이디어다

    결국, 필요 없는 중간 단계를 줄여서 간단한 함수로 만드는 과정이 에타 축약이다.

    람다 계산법의 중요한 개념이다.

     

    η 축약의 기본 형식

    {fun {n} {e n}}  ≡ e    (단, n이 e 안에서 자유롭게 사용되지 않을 때)

    즉, 함수가 인자 n을 받아서 그걸 그냥 함수 e에 넘겨주는 역할만 한다면,
    굳이 이렇게 복잡하게 쓸 필요 없이 e 자체로 축약할 수 있다.

    다음은 또다른 예제다.

    {fun {n} {{fun {x} x} n}}  ≡  {fun {n} n}

     

    이런식으로 축약이 가능하려면 인자가 내부에서 "자유롭게(free)" 사용되지 않아야 한다.

     

     

     

    '컴공지식 > 프로그래밍언어론' 카테고리의 다른 글

    재귀로 인해 추가된 코드 부분  (1) 2024.10.27
    재귀 호출 비교  (1) 2024.10.27
    재귀 BNF  (1) 2024.10.27
    조건문 BNF  (2) 2024.10.27
    람다 표현식이란?  (0) 2024.10.12
Designed by Tistory.