프로그래밍에서 함수: 어떤 계산을 수행하는 문장들에 이름을 붙인 것.
함수를 정의한다는 것: 이름을 지정하고 문장들의 순서를 지정한 것. 이후에 이름으로 함수를 “호출,call”할 수 있음. (Think Python)
함수를 정의한다는 것: 이름을 지정하고 문장들의 순서를 지정한 것. 이후에 이름으로 함수를 “호출,call”할 수 있음. (Think Python)
curr 함수,function#s-2
다음 것들과 매우 밀접하고 어쩔 땐 거의 같거나 완전히 같을 때도 있는데 chk + mkl
위 목록끼리 할 수 있는 게
- 사상,sasang? (사상 사상,map 사상,mapping 사상,morphism ....) .... 맵,map 매핑,mapping map
- 변환,transform or 변환,transformation 변환 ..... + 변환을 나타내는 행렬,matrix 변환행렬 변환행렬
- 연산,operation 연산자,operator 작용소,operator opera
- ....and?
- 참고: 함수 사상 변환 http://www.ktword.co.kr/test/view/view.php?m_temp1=4979
위 목록끼리 할 수 있는 게
- 합성,composition
- ...and?
Contents
- 1. Sub (특정 이름의 function)
- 2. Sub (function)
- 2.1. function call
- 2.2. function composition
- 2.3. function inlining / inline function
- 2.4. intrinsic function
- 2.5. first-order function
- 2.6. second-order function (?)
- 2.7. (third-order function and so on...?)
- 2.8. higher-order function (HOF)
- 2.9. pure function
- 2.10. impure function
- 2.11. first-class function
- 2.12. virtual function
- 2.13. generic function
- 3. Sub ('functional')
- 4. CS function이 가질 수 있는 성질
- 5. MKLINK
- 6. PL Syntax
1.3.1. application ¶
위에 apply랑 같은 거? chk
자료 F, 자료 A가 있다면
이걸 두 가지 방법으로 보면
1. 계산 과정 FA. - captured by the notion of conversion, and even better of reduction. // 전환,conversion? =,conversion . conversion { conversion } // conversion conversion conversion
2. 이 과정의 출력,output. - captured by the notion of models(시맨틱스,semantics).
type-free라서, FF같은 것도 있다. 이 땐 재귀,recursion를 시뮬레이트하기에 유용하다.
(Barendregt 2000 p7)
F·A
는 F는 입력,input A에 "적용"되는 알고리듬으로 간주할 수 있다.이걸 두 가지 방법으로 보면
1. 계산 과정 FA. - captured by the notion of conversion, and even better of reduction. // 전환,conversion? =,conversion . conversion { conversion } // conversion conversion conversion
2. 이 과정의 출력,output. - captured by the notion of models(시맨틱스,semantics).
type-free라서, FF같은 것도 있다. 이 땐 재귀,recursion를 시뮬레이트하기에 유용하다.
(Barendregt 2000 p7)
1.3.2. abstraction ¶
ex.
λx.2*x+1
은x ↦ 2*x+1
일반적으로(λx.M[x])N = M[N]
이다. 더 보기 좋게preferably 이렇게도 쓸 수 있다.(λx.M)N = M[x:=N]
여기서 [x:=N] denotes substitution of N for x. // 치환,substitution(Barendregt 2000 p7)
2.3. function inlining / inline function ¶
function_inlining / inline_function?
{
매크로,macro 비슷?
aka function_unfolding (in Haskell) ... https://wiki.haskell.org/Function_unfolding
{
매크로,macro 비슷?
aka function_unfolding (in Haskell) ... https://wiki.haskell.org/Function_unfolding
Up: compiler_ or code_ optimization ?
}
}
2.4. intrinsic function ¶
(특정 architecture/compiler/...에서 이런 펑션들을 종합적으로 일컫는 표현이 'intrinsics'.)
나는 그냥 'intrinsics'라고 해야 와닫는다. ~function 표현은 we에서 처음 보고 이게 뭐지 했는데.
나는 그냥 'intrinsics'라고 해야 와닫는다. ~function 표현은 we에서 처음 보고 이게 뭐지 했는데.
2.10. impure function ¶
impure function
impure_function - 그렇지 않은
{
function : pure if ...
programming_language : purely functional if evaluation of expressions is pure.
https://wiki.haskell.org/Pure
impure_function - 그렇지 않은
{
function : pure if ...
programming_language : purely functional if evaluation of expressions is pure.
https://wiki.haskell.org/Pure
2.11. first-class function ¶
first-class_function x 2023-08-19
= https://en.wikipedia.org/wiki/First-class_function
instead, see:
first_class = https://en.wiktionary.org/wiki/first_class o
first-class_citizen = https://en.wiktionary.org/wiki/first-class_citizen o
first-class_object = https://en.wiktionary.org/wiki/first-class_object o
so mkl:
first_class { CategoryPrefix }
first-class_citizen
first-class_object
First-class_functionfirst_class = https://en.wiktionary.org/wiki/first_class o
first-class_citizen = https://en.wiktionary.org/wiki/first-class_citizen o
first-class_object = https://en.wiktionary.org/wiki/first-class_object o
so mkl:
first_class { CategoryPrefix }
first-class_citizen
first-class_object
= https://en.wikipedia.org/wiki/First-class_function
NOTE 1st/2nd/3rd-class : 클래스,class에도 언급하기 시작 at 2023-08-19
"first-class function"
}
}
2.12. virtual function ¶
virtual_function =,virtual_function . virtual_function
{
virtual function
virtual_function "syn. virtual_method" => virtual_method "A 메소드,method whose behavior can be overridden within an inheriting class by a method with the same signature{ pagename? }."
{
virtual function
virtual_function "syn. virtual_method" => virtual_method "A 메소드,method whose behavior can be overridden within an inheriting class by a method with the same signature{ pagename? }."
3.1. functional programming ¶
functional_programming =,functional_programming . functional_programming =,fp . fp
{
functional programming
https://wiki.haskell.org/Functional_programming
https://wiki.haskell.org/Functional_programming/Old_version
"functional programming"
}
{
functional programming
https://wiki.haskell.org/Functional_programming
https://wiki.haskell.org/Functional_programming/Old_version
"functional programming"
}
3.2. functional dependency ¶
functional_dependency =,functional_dependency . functional_dependency
{
functional dependency
함수의존성 ?
함수적의존성 ?
함수형의존성 ?
{
functional dependency
함수의존성 ?
함수적의존성 ?
함수형의존성 ?
4.3. referential opacity ¶
참조 불투명 ?
참조불투명성 - pagename?
참조불투명성 - pagename?
referentially opaque adj.
referential opacity n.
referential opacity n.
ex.
난수생성함수 (rel. RNG random_number_generator )
난수생성함수 (rel. RNG random_number_generator )
4.4. returns nothing -> void function ? ¶
PL별로
C(and its descendants):
Python에선 선언 뒤에
Pascal에선
QuickBASIC에선
Visual Basic에선
....
C(and its descendants):
void
type 선언Python에선 선언 뒤에
-> None
??Pascal에선
function
이 아닌 procedure
로 선언QuickBASIC에선
DECLARE FUNCTION
이 아닌 DECLARE SUB
인가? 오래 안써서 기억이...Visual Basic에선
Function
이 아닌 Sub
??....
6. PL Syntax ¶
function_definition
function_declaration syntax가 다른데 이걸 나열할 필요가 있을지, 아무튼.
각각
정의,definition
선언,declaration
function_declaration syntax가 다른데 이걸 나열할 필요가 있을지, 아무튼.
각각
정의,definition
선언,declaration