# partial application

Partial Application을 통한 가변 인자 튜플 타입 구현
지난 포스팅에서 우린 "가변 인자 튜플 타입(Variadic Tuple Types)"에 관해 알아보았다. 이번 포스팅에선 해당 개념에 "Partial Application"이란 구조를 결합시켜 실용적인 쓰임에 대해 알아보고자 한다. 포스팅에 들어가기에 앞서 "Partial Application"에 관해 낯설다면 해당 포스팅을 먼저 보고오는 것을 권한다. ⬇ ⬇ https://velog.io/@from_numpy/Curry-Partial-Application 실용적 예제 -- Partial Application 그럼 “Partial Application”을 구성하는 partialCall이라는 함수를 통해 조금 더 실용적인 튜플 예제를 알아보자. 코드 베이스 -- partialCall 우리가 이전 포스팅 마지막에서 언급하였던 “함수의 매개변수를 부분적으로 적용하여 새로운 함수를 반환하는 함수” 를 조금 풀어서 설명하자면 `pa

가변 인자 튜플 (Variadic Tuple Types)
지난 시간에 "튜플"이란 무엇인지 알아봄과 동시에 타입스크립트에서 "튜플"이 어떻게 쓰이고 어떠한 키워드로써 동작되는지 살펴보았다. 이번 시간에 알아볼 주제는 "Variadic Tuple(가변 인자 튜플)"이다. Variadic ? : variable + -adic (”임의의 많은 변수를 취하는” 뜻) 위의 “Variadic”이란 단어의 어원과 같이 “Variadic”은 우리가 흔히 알고 있는 “Rest Parameter”이다. 해당 개념은 TypeScript 4.0부터 도입된 키워드이다. 즉, 4.0 버전 이전에는 쓸 수 없었던 개념이다. 가변 인자 튜플이 왜 도입되었고 , 어떠한 장점이 있는지를 포커스로 두고 포스팅을 참조하면 좋을 것 같다. 또한 해당 개념을 이해하는데 선수 지식으로 알면 좋을 몇가지 다른 개념들이 등장한다. 모두 함께 알아볼 예정이다. 이번 포스팅은 타입스크립트 공식 핸드북을 참고로 진행한다. ⬇ ⬇ ⬇

Curry & Partial Application
시작하기에 앞서 우연히 타입스크립트의 “튜플”에 관해 다루던 중 “Partial Appliacation”이란 개념이 등장하였고 모르고 넘어가면 섭섭하면서 동시에 찝찝하므로 다뤄보고자 한다. 해당 내용을 다루게 된 동기가 이상하긴 하지만 섭섭지 않게 배워보고자 한다. 여태껏 객체지향적인 프로그래밍과 사고속에서 코딩을 공부해와서 해당 “함수형 프로그래밍”이 굉장히 어색하게 느껴질테지만 천천히 알아보고자 한다. 함수형 프로그래밍 — Curry(커링) 커링(curry)은 프로그래밍 기법의 이름이다. 커링의 원리는 수학의 방정식에서 유래되었다. 자바스크립트로 만든 아래의 add함수를 보자. add는 x와 y를 받아서 두 변수의 합을 반환한다. 이를 수학적으로 표기하면 다음과 같다. 그리고 f(x,y)역시 아래와 같이 표기할 수도 있다. 여기서 h는 f를 다시 변환한 형태인데, 값을 하나 받아서 다른 값

Functional Programming Attributes
함수형 프로그래밍에 대해서 공부해보면 꼭 나오는 용어들이 있다. 일급 시민, 함수 합성, 커링 등. 오늘은 이러한 단어들에 대해서 이해해보자. First Class Function function은.. argument로 받을 수 있음 return할 수 있음 변수에 할당할 수 있음 anonymous function nested function non-local variable closure equality Extensional Equality 두 function이 동일한 입력에 대해 동일한 출력을 가지는 경우 Intensional Equality 두 Function이 동일한 logic을 가지는 경우 Reference Equality Function 고유의 Identifier가 동일한 경우 **Swift는 function Equ