First-class function and high-order function

Eungi KimΒ·2021λ…„ 4μ›” 23일
0

first class function 일급 ν•¨μˆ˜ (일λ₯˜)
μΌκΈ‰ν•¨μˆ˜λŠ” ν•¨μˆ˜λ₯Ό λ³€μˆ˜μ— ν• λ‹Ήν•  수 있고, λ‹€λ₯Έ νƒ€μž…λ“€κ³Ό ν•¨μˆ˜νƒ€μž…μ„ λ‹€λ₯΄μ§€ μ•Šκ²Œ μ·¨κΈ‰ν•˜λŠ”κ²ƒμ„ μ˜λ―Έν•œλ‹€.
κ·Έλž˜μ„œ ν•¨μˆ˜λ₯Ό λ‹€λ₯Έ ν•¨μˆ˜μ˜ μΈμžλ‚˜ λ¦¬ν„΄μœΌλ‘œ μ‚¬μš©κ°€λŠ₯ν•˜λ‹€.
μ΄λŠ” ν”„λ‘œκ·Έλž˜λ° 언어적인 κΈ°λŠ₯으둜, νŠΉμ • ν•¨μˆ˜λ‚˜ κΈ°λŠ₯이 μΌκΈ‰ν•¨μˆ˜λ‹€ 라고 말할 수 μ—†λ‹€.
μ½”ν‹€λ¦°μ΄λ‚˜ μžλ°”μŠ€ν¬λ¦½νŠΈκ°™μ€ ν•¨μˆ˜μ–Έμ–΄λŠ” 보톡 μΌκΈ‰ν•¨μˆ˜λ₯Ό μ§€μ›ν•œλ‹€.

high order function κ³ μ°¨ ν•¨μˆ˜ (고계)
κ³ μ°¨ ν•¨μˆ˜λŠ” ν•¨μˆ˜μ˜ λ§€κ°œλ³€μˆ˜λ‚˜ 리턴에 ν•¨μˆ˜λ₯Ό 넣을 수 μžˆλŠ” ν•¨μˆ˜λ₯Ό λ§ν•œλ‹€.
μ΄λŠ” μˆ˜ν•™μ μΈ κ°œλ…μ—μ„œ λ”°μ˜¨κ²ƒμ΄λ‹€.
각각의 ν•¨μˆ˜μ—κ²Œ κ³ μ°¨ν•¨μˆ˜ 속성이 μžˆλƒ 없냐λ₯Ό λ”°μ§€λŠ”κ²ƒμ΄λ‹€.

λ‘κ°œλŠ” λ°€μ ‘ν•˜κ²Œ 관련이 μžˆκΈ°μ— μΌκΈ‰ν•¨μˆ˜λ₯Ό μ§€μ›ν•˜μ§€λ§Œ κ³ μ°¨ν•¨μˆ˜λŠ” μ—†κ±°λ‚˜ κ³ μ°¨ν•¨μˆ˜λŠ” μžˆμ§€λ§Œ μΌκΈ‰ν•¨μˆ˜κ°€ μ—†λŠ”κ²ƒμ€ μƒμƒν•˜κΈ° μ–΄λ ΅λ‹€.(맀우 λ“œλ―„ 예, 엑셀은 μΌκΈ‰ν•¨μˆ˜ κΈ°λŠ₯κΈ° μžˆμ§€λ§Œ κ³ μ°¨ ν•¨μˆ˜λŠ” μ—†λ‹€)

"has first-class functions" is a property of a language, and "is higher-order" is a property of a function

profile
Run and gun and debugun

0개의 λŒ“κΈ€