νμ€ν μΉπ κ°λ°μ μ§λ§μ π§π½βπ»
β μΈκ³΅μ§λ₯ κ΄μ¬ π€
Categories
-
β£
βΆ COMPUTER_SCIENCE
π: 7 -
β£
βΆ WEB
π: 3 -
β£
βΆ ETC
π: 3-
β
β£
ETCS
π: 10 -
β
β£
SUBBRAIN κ°λ°κΈ°
π: 5 -
β
β
YOS κ°λ°κΈ°
π: 1
-
β
β£
-
β
βΆ AI
π: 9-
β£
AITOOLS
π: 3 -
β£
CV
π: 2 -
β£
DEEP_LEARNING
π: 1 -
β£
DATA_VIS
π: 2 -
β£
GRAPH
π: 1 -
β£
LIGHTWEIGHT
π: 1 -
β£
MATH
π: 1 -
β£
NLP
π: 3 -
β
STRUCTURED_DATA
π: 2
-
β£
OSSU PL-A Section 3
π£οΈ
quote
μΆμ² κ°μ Programming Languages, Part A, μμ±ν΄ λνκ΅
OSSU PL-A Section 3
μ©μ΄ μ€λͺ
μλ μ μ λ§μ μ¬λλ€μ΄ μλ‘ νΌλνλ μ©μ΄λ€μ΄λ€.
μΌκΈ ν¨μ(first-class function)
κ°(value) μ²λΌ κ³μ°λκ±°λ, μ λ¬λκ±°λ 리ν΄λκ±°λ μ μ₯ λ±μ΄ κ°λ₯ν ν¨μ.
ν¨μ ν΄λ‘μ (function closures)
- ν¨μ λ΄μμ μΈλΆμμ μ μλ λ³μλ₯Ό μ¬μ©νλ ν¨μ.
- ν¨μκ° μ μλλ μκ°μ μΈλΆμ μ μ λ³μ κ°μ κ³ μ νμ¬ μ¬μ©νλ κ²½μ°λ₯Ό λ μ컬 μ€μ½ν(Lexical Scope) νΉμ μ μ λ²μ(static scope)λΌκ³ νλ€.
- μ΄λ₯Ό ν΅ν΄, μ λ ₯μ λν μΌμ ν μΆλ ₯μ΄ λ³΄μ₯λκ³ , λ³μμ νμ λ³κ²½ λ±μ μν μ€λ₯κ° μλ€.
- λ μ컬 μ€μ½νμ λ°λλ λμ μ€μ½ν(dynamic scope) λΌκ³ νλ€.
- ν¨μ μ μΈ + λ μ컬 μ€μ½ν = ν΄λ‘μ λΌκ³ νλ€.
ν΄λ‘μ λλΆμ Currying, ν¨μ μ‘°ν© λ±μ΄ κ°λ₯νλ€.
κ³ μ°¨ ν¨μ(higher-order function)
λ€λ₯Έ ν¨μλ₯Ό μΈμλ‘ λ°κ±°λ λ°ννλ ν¨μ
μ΄λ€μ μ΄μ©ν΄ κ°λ
μ±κ³Ό μ¬μ¬μ©μ± μ’μ μ½λλ₯Ό λ§λ€ μ μλ€. μμ : map
, filter
ν¨μν νλ‘κ·Έλλ°(functional programming)μ νΉμ§
- λ³κ²½κ°λ₯ν(mutable) λ°μ΄ν°λ₯Ό κ±°μ νΉμ μ ν μ¬μ©νμ§ μμ
- ν¨μλ₯Ό κ°μ²λΌ λ€λ£° μ μμ(μ μ©μ΄ μ€λͺ )
- μ¬κ·μ μ¬κ· ꡬ쑰 λ°μ΄ν°λ₯Ό μμ£Ό μ¬μ©ν¨
- μ ν΅μ μΈ μνμ μΈ λ¬Έλ²κ³Ό μ€νμΌλ‘ ν¨μλ₯Ό μ΄μ©ν¨
- laziness κ°μ΄ κΈ°μ‘΄μ νλ‘κ·Έλλ°μμ μ¬μ©νμ§ μλ idiom(κ΄μ©κ΅¬)μ μ¬μ©
_articles/computer_science/OSSU/PL/PLs/OSSU PL-A/OSSU PL-A Section 3.md