Published on2026년 2월 15일비동기를 값으로 만드는 Promise — 모나드와 Kleisli Compositionjavascriptfunctional-programmingpromiseasynckleisli-compositionmonadcallback은 결과를 값으로 돌려주지 못한다. Promise는 비동기를 일급 값으로 만들어 합성을 가능하게 한다. 모나드 관점에서 Promise의 안전한 합성을 이해하고, Kleisli Composition으로 외부 상태 변화까지 다뤄보자.
Published on2026년 2월 14일flat 함수를 이터러블로 구현해보자. L.flatten과 L.deepFlat 🪆javascriptfunctional-programminglazy-evaluationiterableflatten중첩 배열을 펼치는 flat 함수를 이터러블로 구현해보자. 그리고 깊은 중첩까지 재귀적으로 펼치는 L.deepFlat을 구현해보자. 그리고 yield * 위임 문법을 알아보자.
Published on2026년 2월 9일게으른 함수로 부지런한 함수 만들기 🐢javascriptfunctional-programminglazy-evaluationiterablecomposition지연 평가 함수들이 단순한 성능 최적화 용도로만 생각하지 말자. 지연평가 함수는 즉시 평가 함수를 만드는 재료가 될 수 있다. L.entries, join, takeAll을 구현하고, L.map과 L.filter로 map과 filter를 재구성해보자.
Published on2026년 2월 8일이제는 타입스크립트로 구현해보자 😭javascripttypescriptfunctional-programmingtype-systemoverloading자바스크립트로만 작성했으니, 이제는 타입스크립트로 함수형 프로그래밍 유틸리티를 구현해보자. 가볍게 시작했는데 가볍게 끝나지 않았다.....
Published on2026년 2월 7일이번에는 지연 평가(feat: 제너레이터) 😎javascriptfunctional-programmingdebugginglazy-evaluationgenerator이번에는 조합된 지연 평가 함수들을 디버깅해보자. go, L.map, L.filter, take가 조합된 코드를 한 줄 한 줄 따라가며 지연 평가의 실행 흐름을 추적해보자.