--- id: P-REINFORCE-AI-FUNCTIONAL category: "[[10_Wiki/πŸ’‘ Topics/AI]]" confidence_score: 0.98 tags: [Programming, FunctionalProgramming, Declarative, Immutability] last_reinforced: 2026-04-20 --- # [[Functional-Programming]] (ν•¨μˆ˜ν˜• ν”„λ‘œκ·Έλž˜λ°) ## πŸ“Œ ν•œ 쀄 톡찰 (The Karpathy Summary) > "μƒνƒœλ₯Ό λ°”κΎΈμ§€ 말고, λͺ…ν™•ν•œ μˆ˜μ‹μ„ μ„ μ–Έν•˜λΌ." ν”„λ‘œκ·Έλž¨μ˜ 싀행보닀 λ°μ΄ν„°μ˜ λ³€ν™˜(Transformation)에 μ§‘μ€‘ν•˜λ©°, λΆ€μž‘μš©(Side Effect)이 μ—†λŠ” 순수 ν•¨μˆ˜λ₯Ό μ‘°ν•©ν•˜μ—¬ λ³΅μž‘μ„±μ„ κ΄€λ¦¬ν•˜λŠ” νŒ¨λŸ¬λ‹€μž„μ΄λ‹€. ## πŸ“– κ΅¬μ‘°ν™”λœ 지식 (Synthesized Content) - **Core Concepts**: - **Pure Functions**: λ™μΌν•œ μž…λ ₯에 μ–Έμ œλ‚˜ λ™μΌν•œ 좜λ ₯. μ™ΈλΆ€ μƒνƒœλ₯Ό κ±΄λ“œλ¦¬μ§€ μ•ŠμŒ. - **Immutability**: λ°μ΄ν„°λŠ” ν•œ 번 μƒμ„±λ˜λ©΄ λ³€ν•˜μ§€ μ•ŠμŒ. 변경이 ν•„μš”ν•˜λ©΄ 볡사본 생성. - **First-class Citizens**: ν•¨μˆ˜λ₯Ό λ³€μˆ˜μ— λ‹΄κ³ , 인자둜 μ „λ‹¬ν•˜κ³ , 결과둜 리턴할 수 있음. - **Declarative**: 'μ–΄λ–»κ²Œ(How)'κ°€ μ•„λ‹ˆλΌ '무엇(What)'을 ν•˜λŠ”μ§€ λͺ…μ‹œν•¨. - **Benefits**: ν…ŒμŠ€νŠΈμ™€ 디버깅이 μ••λ„μ μœΌλ‘œ 쉽고, 병렬 μ²˜λ¦¬μ— 맀우 μœ λ¦¬ν•˜λ‹€. ## ⚠️ λͺ¨μˆœ 및 μ—…λ°μ΄νŠΈ (RL Update) - 순수 ν•¨μˆ˜ν˜•μ€ ν˜„μ‹€ μ„Έκ³„μ˜ 'μƒνƒœ λ³€ν™”'λ‚˜ 'I/O'λ₯Ό μ²˜λ¦¬ν•˜κΈ°κ°€ 맀우 κΉŒλ‹€λ‘­λ‹€(λͺ¨λ‚˜λ“œ λ“±μ˜ λ‚œν•΄ν•œ κ°œλ… ν•„μš”). λ”°λΌμ„œ ν˜„λŒ€μ˜ 개발 μ£Όλ₯˜λŠ” 객체 μ§€ν–₯의 ꡬ쑰적 μž₯점과 ν•¨μˆ˜ν˜•μ˜ 논리적 μ•ˆμ •μ„±μ„ κ²°ν•©ν•œ **'λ©€ν‹° νŒ¨λŸ¬λ‹€μž„(Multi-paradigm)'** λ°©μ‹μœΌλ‘œ μ •μ°©ν•˜κ³  μžˆλ‹€. ## πŸ”— 지식 μ—°κ²° (Graph) - Related: [[JavaScript-Modern-Patterns]] , [[Reactive-Programming]] - Key Concept: [[Referential-Transparency]]