이 글은 책 The Dao of Functional Programming 서론에 나오는 집합론을 정리한 것이다.카테고리 이론을 공부하기 위해서 집합론을 아주 잘 알아야 하는 것은 아니지만 기본은 알아야 한다.집합은 원소를 포함한다.집합 $S$와 원소 $a$가 주어졌을
이 글은 책 The Dao of Functional Programming의 1장 2절 Yin and Yang을 정리한 것이다. 오브젝트(object)는 연결로 정의된다. 애로우(arrow)는 두 오브젝트가 서로 연결되어 있다는 증거이다. 증거가 없다는 것은 두 오브젝
이 글은 책 The Dao of Functional Programming의 1장 3절 Elements를 정리한 것이다.오브젝트(object)에 부속품(parts)은 없지만 구조(structure)는 있을 수 있다.구조는 그 오브젝트를 가리키는 애로우(arrow)로 규정
이 글은 책 The Dao of Functional Programming의 1장 4절 The Object of Arrows를 정리한 것이다. 아무 두 오브젝트(object) 사이의 애로우(arrow)는 집합을 구성한다. 하스켈에서
이 글은 책 The Dao of Functional Programming의 2장 1절 Composition을 정리한 것이다.$a$에서 $b$로 가는 애로우 $f$와, $b$에서 $c$로 가는 애로우 $g$가 있을 때, $a$에서 $c$로 바로 가는 애로우를 합성(com
끝 오브젝트 $1$에서 시작해 $a$로 가는 애로우를 $a$의 엘리먼트라 하고 아래처럼 적는다. $1 \xrightarrow{x} a$ $a$에서 $b$로 가는 애로우는 아래처럼 적는다. $a \xrightarrow{f} b$ $a$를 매개로 이 두 애로우를 합
모든 오브젝트는 아이덴티티(identity)라는 애로우를 가지고 있다.오브젝트 $a$의 아이덴티티 애로우는 $id\_{a}$로 적는다.애로우 $f : a \\rightarrow b$가 있을 때 $f$ 왼쪽에 $id{b}$를 합쳐도 $f$와 같고 $f$ 오른쪽에 $id{
두 오브젝트의 가장 간단한 관계는 한 개짜리 애로우이다.가장 간단한 왕복 여행(round trip)은 서로 반대 방향으로 가는 두 애로우를 합친 것이다.왕복 여행은 두 가지 경우의 수가 있는데 하나는 $a$에서 $a$로 가는 $g \\circ f$이고 다른 하나는 $b
프로그래밍은 타입과 함수로 시작한다. 타입과 함수에 대한 선입견은 모두 버려라. 그것들은 마음을 어지럽힐 뿐이다.프로그래밍이 하드웨어로 어떻게 구현되었을지는 생각하지 마라. 컴퓨터는 여러 계산 모델 중 하나일 뿐이다. 프로그래밍을 하드웨어와 연관지어 생각할 필요 없다.