--- id: FP-001 category: "10_Wiki/πŸ’‘ Topics/AI" confidence_score: 1.0 tags: [programming, functional-programming, immutability, pure-functions, software-engineering] last_reinforced: 2026-04-26 --- # [[Functional Programming|Functional Programming]] (ν•¨μˆ˜ν˜• ν”„λ‘œκ·Έλž˜λ°) ## πŸ“Œ ν•œ 쀄 톡찰 (The Karpathy Summary) > "λ°μ΄ν„°μ˜ μƒνƒœ λ³€ν™”λ₯Ό ν”Όν•˜κ³ , 순수 ν•¨μˆ˜λ“€μ˜ μ‘°ν•©μœΌλ‘œ κ²¬κ³ ν•œ λ‘œμ§μ„ μ‘°λ¦½ν•˜λΌ" β€” 계산을 μˆ˜ν•™μ  ν•¨μˆ˜μ˜ ν‰κ°€λ‘œ μ·¨κΈ‰ν•˜κ³  μƒνƒœ λ³€κ²½ 및 κ°€λ³€ 데이터λ₯Ό λ©€λ¦¬ν•˜μ—¬, 병렬 μ²˜λ¦¬μ— μœ λ¦¬ν•˜κ³  버그가 적은 μ†Œν”„νŠΈμ›¨μ–΄λ₯Ό λ§Œλ“œλŠ” ν”„λ‘œκ·Έλž˜λ° νŒ¨λŸ¬λ‹€μž„. ## πŸ“– κ΅¬μ‘°ν™”λœ 지식 (Synthesized Content) - **μΆ”μΆœλœ νŒ¨ν„΄:** "μ–΄λ–»κ²Œ(How)" 연산할지보닀 "무엇(What)"인지 μ •μ˜ν•˜κ³ , μž…λ ₯을 λ„£μœΌλ©΄ 항상 λ™μΌν•œ 좜λ ₯이 λ‚˜μ˜€λŠ” λΆˆλ³€μ„±(Immutability)κ³Ό μ°Έμ‘° 투λͺ…μ„±(Referential Transparency)을 μœ μ§€ν•˜λŠ” 선언적 μ½”λ”© νŒ¨ν„΄. - **핡심 κ°œλ…:** - **Pure Functions:** μ™ΈλΆ€ μƒνƒœλ₯Ό μ°Έμ‘°ν•˜κ±°λ‚˜ λ³€κ²½ν•˜μ§€ μ•ŠλŠ” ν•¨μˆ˜. ν…ŒμŠ€νŠΈμ™€ 디버깅이 맀우 쉬움. - **First-class Citizens:** ν•¨μˆ˜λ₯Ό λ³€μˆ˜μ— λ‹΄κ³ , 인자둜 λ„˜κΈ°κ³ , 결과둜 λ°˜ν™˜ν•  수 있음. - **Higher-order Functions:** ν•¨μˆ˜λ₯Ό νŒŒλΌλ―Έν„°λ‘œ λ°›κ±°λ‚˜ 결과둜 λ°˜ν™˜ν•˜λŠ” ν•¨μˆ˜ (map, filter, reduce λ“±). - **Immutability:** ν•œ 번 μƒμ„±λœ λ°μ΄ν„°λŠ” μˆ˜μ •ν•˜μ§€ μ•Šκ³  항상 μƒˆλ‘œμš΄ 데이터λ₯Ό μƒμ„±ν•˜μ—¬ 전달. - **의의:** λ™μ‹œμ„±(Concurrency) λ¬Έμ œκ°€ λ°œμƒν•˜λŠ” λ©€ν‹°μ½”μ–΄ ν™˜κ²½κ³Ό λŒ€κ·œλͺ¨ λΆ„μ‚° μ‹œμŠ€ν…œμ—μ„œ 데이터 일관성을 μœ μ§€ν•˜λŠ” κ°€μž₯ κ°•λ ₯ν•œ 무기. ## ⚠️ λͺ¨μˆœ 및 μ—…λ°μ΄νŠΈ (Contradictions & RL Update) - **κ³Όκ±° λ°μ΄ν„°μ™€μ˜ 좩돌:** 객체지ν–₯(OOP)이 μœ μΌν•œ μ •λ‹΅μ΄λ˜ μ‹œλŒ€λ₯Ό μ§€λ‚˜, 데이터 슀트림 μ²˜λ¦¬μ™€ 비동기 ν”„λ‘œκ·Έλž˜λ°μ΄ μ€‘μš”ν•΄μ§€λ©΄μ„œ ν•¨μˆ˜ν˜• νŒ¨λŸ¬λ‹€μž„μ΄ λͺ¨λ“  μ£Όλ₯˜ μ–Έμ–΄(JS, Java, Python λ“±)에 κΉŠμˆ™μ΄ μΉ¨νˆ¬ν•¨. - **μ •μ±… λ³€ν™”:** Antigravity ν”„λ‘œμ νŠΈλŠ” μ—μ΄μ „νŠΈμ˜ 사고 흐름(Chain of Thought)을 μ²˜λ¦¬ν•˜λŠ” νŒŒμ΄ν”„λΌμΈ 섀계 μ‹œ, 각 단계λ₯Ό 순수 ν•¨μˆ˜λ‘œ μ •μ˜ν•˜μ—¬ μž¬ν˜„ κ°€λŠ₯μ„±κ³Ό μ•ˆμ •μ„±μ„ 확보함. ## πŸ”— 지식 μ—°κ²° (Graph) - [[Determinism-in-Computing|Determinism-in-Computing]], Distributed-Computing, Software-Architecture-Patterns, [[Parallel-Computing|Parallel-Computing]] - **Raw Source:** 10_Wiki/Topics/AI/Functional-Programming.md