왜 폴 그레이엄은 회사 이름을 Y Combinator라고 지었을까
남영환, 이종립 컬리 · 컬리 기술 블로그
AI 핵심 요약
함수형 프로그래밍에서 재귀는 보통 함수가 자기 이름을 참조하지만, 람다 계산법만으로는 이런 이름 참조가 자유 변수 문제를 일으킨다. 글은 Clojure의 함수·람다 문법과 콤비네이터 개념을 소개한 뒤, 자기 자신을 적용하는 Ω 콤비네이터에서 출발해 팩토리얼 재귀를 구성한다. 이어 Y Combinator를 구현해 재귀 로직을 함수에서 분리하고, 자기 참조 없이도 팩토리얼을 계산할 수 있음을 Clojure와 JavaScript 예제로 보여준다. 저자는 Y Combinator가 다른 함수를 재귀적으로 확장하는 원리라는 점에 착안해, 폴 그레이엄이 스타트업을 성장시키는 회사의 이름으로 이를 택했을 가능성을 제안한다.
- 콤비네이터는 자유 변수를 포함하지 않고, 함수 안에서 사용하는 변수는 매개변수로 바인딩되어야 한다.
- Y Combinator는 함수에 자기 자신을 직접 참조하지 않고도 재귀를 가능하게 하는 고정점 콤비네이터다.
- Clojure에서는 함수도 값이므로 `fn`으로 익명 함수를 만들고 `def`로 이름을 연결할 수 있다.
- 자기 자신을 자기 자신에 적용하는 Ω 콤비네이터는 무한 재귀를 만들며, 실행 시 호출 스택이 넘칠 수 있다.
소개
왜 폴 그레이엄은 회사 이름을 Y Combinator라고 지었을까
비슷한 학습 자료
컨퍼런스 당근 밋업
“우아한 구조로 서비스를 잘 구축하면 하나의 코드로 여러 플랫폼을 대응하고, 확장성도 챙길 수 있을 텐데…” 프론트엔드 개발자라면 한 번쯤 이런 생각 해보지 않으셨나요? 하나의 코드로 데스크탑, 모바일 그리고 웹뷰까지 모두 대응할 수 있다면 얼마나 좋을까요? 개발자 리소스가 줄고 서비스 통일감도 높아지고 더이상 플랫폼 간 기능 차이도 없을 거예요. 하지만 다른 방향에서 살펴보면 한 플랫폼에서만 사용되는 코드가 추가되어 애플리케이션이 무거워지고, 플랫폼 별로 달라지는 로직을 실행하기 위해 분기가 많아지니 더 복잡해지기도 해요. 그래서 상황에 따라 각 플랫폼 별로 개발하는 것이 좋은 선택일 수도 있고, 하나의 코드로 개발하는 게 좋은 선택일 수도 있어요. 당근 광고실에서는 여러 논의를 거쳐서 웹과 웹뷰를 하나의 코드로 합치기로 결정했어요. 이 세션에서는 왜 우리가 웹과 웹뷰 코드를 통합하기로 결정했는지, 이 과정에서 겪었던 문제들과 문제를 어떻게 해결했는지를 다루고자 해요. 🥕...
웹 개발 프론트엔드
컨퍼런스 if kakao
LLM을 활용한 유저 프로파일링과 개인화 추천
컨퍼런스 if kakao
if(kakao)25 검색, 클릭 등의 행태정보를 기반으로 만드는 다양한 유저 프로파일링, 추천 프로덕트들을 소개합니다. How보다는 What을 소개하는 발표입니다. 전통적인 방법은 물론 LLM을 활용하여 개발하는 과정을 간략하게 소개합니다. #TECH #PRODUCT #AI #Data ML을 통해 문제해결하기를 좋아하는 데이터사이언티스트입니다. 요즘은 추천, LLM에 관심이 많습니다. 데이터팀에서 전사지원을 하고 있는 송민수(mason.9506)입니다. 발표자료 보기 📍 https://if.kakao.com/2025/session?sessionId=21 📍 if.kakao.com if(kakao)25 홈페이지 : https://if.kakao.com/2025 #카카오 #kakao #이프카카오25
AI에이전트 개발 딥러닝 · 머신러닝 자연어 처리
문서 임진호
우리는 왜 공통 라이브러리를 만들기 시작했나
문서 남영환
Lambda Calculus에 대해 알아보자
컨퍼런스 FEConf 2025 B트랙
FEConf 2025 [B2] 'memo'를 지울 결심 : React Compiler가 제안하는 미래
컨퍼런스 FEConf 2025 B트랙
FEConf 2025 2025.8.23 11:00 ~ 17:40 세종대학교 광개토관 컨벤션센터 TRACK B-2 'memo'를 지울 결심 : React Compiler가 제안하는 미래 장용석 | 리멤버앤컴퍼니 Memoization을 위해 React 코드에서 흔히 사용되던 memo, useMemo와 이제는 헤어질 시간입니다. React Compiler가 어떻게 우리를 대신해 최적화를 수행하는지, 실제 React 코드가 어떻게 변화하는지 파이프라인을 따라 깊이 있게 살펴보고 앞으로 어떤 멘탈모델을 가지고 React 코드를 작성해야 할지 이야기해봅니다.
프론트엔드