마지막으로 조금 남은 기초 용어들에 대해서만 정리합니다. Lift 함수와 파라미터를 받아 함수에 파라미터를 적용한 결과를 반환하는 것. 이 때, LiftA2, Lift 가 있고 전자는 2개 인자를 받아 map, ap을 적용하고 후자는 map을 적용합니다. Equational Reasoning 응용 프로그램이 부수 효과가 없는 순수 함수(표현식)들로만 구성되었다면 최종 시스템은 부분들로부터 유도가 가능하다는 추론입니다. 두 표현식은 아래 조건의 경우 동등합니다 두 표현식이 같은 값을 평가하거나, 두 표현식이 모두 무한 루프를 돌거나, 두 표현식이 모두 같은 예외를 던지거나. 아래의 규칙에 의존할 수 있습니다. 반사성(reflexivity) : 어떤 표현식 e 에 대하여 e == e 입니다. 대칭성(symm..
람다 대수학에 대해 간단하게 고찰하고 넘어가고자 합니다. 람다 대수 역사와 개요 정의 연산 그리고 이를 이용한 하나의 고찰 그리고 0 이상의 정수와 관련된 람다 대수식 서술법 출처 https://www.inf.fu-berlin.de/lehre/WS03/alpi/lambda.pdf https://en.wikipedia.org/wiki/Lambda_calculus#Formal_definition http://nirvana-wiki.appspot.com/Lambda_calculus https://ko.wikipedia.org/wiki/%EB%9E%8C%EB%8B%A4_%EB%8C%80%EC%88%98 https://www.sangkon.com/haskell-study-part02/ http://ropas.sn..
Functor, Applicative, Monad. 함수형 패러다임에서 매우 잦게 수행되는 것들이 있다고 합니다. 함수 합성과 커링이 그 예 입니다. 여기서 일반적으로 사용되는 데이터 타입인 Char, Int, Double 을 그대로 사용하면서도 Null 동작에 대한 대비 및 Side-Effect 를 동반하는 함수를 순수하게 다루기 위한 방법 등이 같이 고려되어야 합니다. 그 중 알아낸 개념으로 Functor, Applicative, Monad 에 대해 약술합니다. Functor(함자) 맵핑 가능하거나 맵핑 되는 대상 조건 1. id 함수(identity function; 항등 함수)를 함자를 통해 맵핑하여 리턴된 함자는 원래의 함자와 동일해야 한다. fmap id = id 2. 두 함수를 합성한 함수를..