HyperAccel Tech Blog · 2026. 09. 25.
[모나드와 범주론 - Part 01] 함수가 이어지지 않을 때
AI 엔지니어링 브리핑
이 글은 값이 없을 수 있는 함수들도 끊김 없이 이어 붙일 수 있도록 Option과 bind를 활용한 합성 규칙을 만들고, 이를 통해 모나드의 기본 개념을 코드로 이해하게 합니다.
문제 & 배경
- 문제 & 배경: 일반적인 함수 합성은 앞 함수의 출력과 다음 함수의 입력이 같아야 하지만, 파싱 실패나 조회 실패처럼 결과가 없을 수 있는 함수는 Option을 반환해 다음 함수와 바로 연결할 수 없었습니다.
기술 & 해결책
- 기술 & 해결책: none이면 계산을 멈추고 some 값이면 다음 함수에 넘기는 규칙을 조건문으로 만든 뒤, 이를 Option.bind로 추상화해 반복적인 분기를 재사용 가능한 composeOption 합성 연산으로 정리했습니다.
교훈 & 주의점
- 교훈 & 주의점: map만 사용하면 Option이 중첩되므로 join 또는 bind가 필요하며, 최종 결과만으로는 어느 단계에서 실패했는지 알 수 없고, Lean의 실행 검사와 증명을 통해 구현이 서로 같은지 확인할 수 있습니다.
함께 읽을 글
내용이 비슷해요내용이 비슷한 글을 먼저 보여드려요. 같은 문제나 해결책을 다룬다는 뜻은 아니에요.