대수관계를 알면 좀 좋더라고 ㅇㅅㅇ
집합 S 와 연산자 * 가 있을 때
그니까 예를 들어
S = { 1, 2, 3... } (자연수)
* = +
이런식으로 있을 때
* 연산자를 S의 원소에 적용했을 때 결과가 S집합안에 있다면
마그마라고 불러
자연수 + 자연수는 무조건 자연수니까 마그마야 ㅇㅅㅇ
자연주 - 자연수는 음수, 즉 실수가 나올 수 있으니까 마그마가 아니야 ㅇㅅㅇ
마그마 중에서 항등원이 있고 결합법칙이 가능하면 모노이드라고 불러
(1 + 2) + 3 = 1 + (2 + 3) 이니까 결합법칙을 만족하고
1 + 0 = 0 + 1 = 1 이니까 항등원도 있지 ㅇㅅㅇ
<S, +> 는 모노이드야 ㅇㅅㅇ
카테고리는 함수 비슷한건데
함수의 집합도 있을 수 있겠지 ㅇㅅㅇ
카테고리도 모노이드가 될 수도 있어 ㅇㅅㅇ
그 중에 자기 함자 범주를 갖는 모노이드를 모나드라고 불러 ㅇㅅㅇ
자기 함자란 정의역과 공역이 같은 함수야 ㅇㅅㅇ
Option 이 모나드라면 이걸 만족하겠지 ㅇㅅㅇ
Option 에다가 map 을 하든 flatmap을 하든 filter 를 하든 나오는 값은 Option 이지
이게 자기 함자야 ㅇㅅㅇ
해당 댓글은 삭제되었습니다.
나바보떼따우