#noindex The '''λ calculus''' can be called the smallest universal programming language of the world.[* Rojas 파일 첫문장] '''Lambda calculus''' is an example of a [[reduction_system]] with [[lambda_conversion]] rules constituting its rewrite rules.[* https://mathworld.wolfram.com/ReductionSystem.html 두번째 문단] ([[conversion_rule]] > [[lambda_conversion_rule]] / [[rewriting]] or [[rewriting_rule]] or [[rewrite_rule]]) Sub: //(tmp) type에 대해: https://en.wikipedia.org/wiki/Lambda_calculus#untypedLambdaCalculus [[typed_lambda_calculus]] { typed lambda calculus [[타입,type]]있는? [[수학기초론]]{ WpKo:수학기초론 }에서 [[집합론,set_theory]]의 대안 후보들은 [[Alonzo_Church]]{ '''Alonzo Church''' https://en.wikipedia.org/wiki/Alonzo_Church }의 '''typed lambda-calculus''', Per_Martin-Loef ? { '''Per Martin-Löf''' https://en.wikipedia.org/wiki/Per_Martin-Löf } 의 [[intuitionistic_type_theory]]{ intuitionistic type theory [[WpEn:Intuitionistic_type_theory]] = https://en.wikipedia.org/wiki/Intuitionistic_type_theory WpJa:直観主義型理論 https://plato.stanford.edu/entries/type-theory-intuitionistic/ }가 있다. ([[WpEn:Type_theory]] 처음 부분) http://foldoc.org/typed+lambda-calculus [[Wiki:TypedLambdaCalculus]] [[WpEn:Typed_lambda_calculus]] "typed lambda calculus" Ggl:"typed lambda calculus" } [[untyped_lambda_calculus]] [[타입,type]] 없는 [[람다대수,lambda_calculus]]. { untyped lambda calculus Twin https://pub.mearie.org/타입없는람다대수 https://www.pls-lab.org/en/Untyped_lambda_calculus_and_set_theory // [[집합론,set_theory]] https://www.pls-lab.org/Untyped_lambda_calculus "untyped lambda calculus" Ggl:"untyped lambda calculus" } [[simply_typed_lambda_calculus]] { simply typed lambda calculus rel. [[simple_type_theory]] mkl [[untyped_lambda_calculus]] https://www.pls-lab.org/en/Simply-typed_lambda-calculus [[WpEn:Simply_typed_lambda_calculus]] "simply typed lambda calculus" Ggl:"simply typed lambda calculus" } // simply typed lambda calculus [[pure_lambda_calculus]] { pure lambda calculus 번역? 순수람다대수? pure lambda calculus : [[상수,constant]]가 없고 [[함수,function]]만 ... http://foldoc.org/pure+lambda-calculus "pure lambda calculus" Ggl:"pure lambda calculus" } [[polymorphic_lambda_calculus]] or second-order_lambda_calculus => [[System_F]] { '''System F''' = polymorphic lambda calculus "polymorphic lambda calculus" Ggl:"polymorphic lambda calculus" '''System F,,ω,,''' = higher-order polymorphic lambda calculus '''System F,,>:,,''' ''이런건 pagename 어떻게? TBD'' an extension of system F with subtyping. WpEn:System_F [[다형성,polymorphism]]?? curr. [[RR:다형성,polymorphism]] } // Ggl:"System F" [[binary_lambda_calculus]] { binary lambda calculus 번역? 이진람다대수? https://esolangs.org/wiki/Binary_lambda_calculus Google:binary.lambda.calculus } ---- mklink // 각종 단어/표현/개념들 일단 나열 [[커링,currying]] { Haskell Curry의 이름을 땄다고 했나 http://foldoc.org/currying EoM에서는 https://encyclopediaofmath.org/wiki/Currying redir. to https://encyclopediaofmath.org/wiki/Exponential_law_for_sets } 익명함수 - [[함수,function]] 람다란? https://everything2.com/title/lambda [[,closure]] 와.. 변수들 (see [[변수,variable#s-2]]) 자유변수 [[free_variable]] 제한변수 [[bound_variable]] [[자유변수,free_variable]] vs [[bound_variable]] ........ curr at [[변수,variable#s-2]] 자유변수를 [[치환,substitution]] 연산..? 치환실례,substitution_instance ? { "substitution instance" Ggl:"substitution instance" Naver:"substitution instance" } // substitution instance [[람다식,lambda_expression]] { [[식,expression]] } parameter [[parameter]] [[람다식,lambda_expression]] - [[식,expression]], w rr { https://foldoc.org/lambda+expression ... Google:람다식 Google:lambda+expression } [[람다항,lambda_term]] - [[항,term]] { [[항,term]] WtEn:lambda_term ? Google:lambda.term lambda terms에 대해 다음을 할수있.. 적용,application [[추상화,abstraction]] - rel. [[람다추상화,lambda_abstraction]] } [[람다추상화,lambda_abstraction]] - writing { '''lambda abstraction''' MKL [[anonymous_function]] 익명함수 무명함수 [[WtEn:lambda_abstraction]] = https://en.wiktionary.org/wiki/lambda_abstraction "... It is meant to represent an anonymous function." http://foldoc.org/lambda+abstraction https://wiki.haskell.org/Lambda_abstraction "A lambda abstraction is another name for an [[anonymous_function]]." ... Google:람다추상화 Google:lambda+abstraction } // lambda abstraction [[lambda_lifting]] - w 번역? { '''lambda lifting''' https://foldoc.org/lambda+lifting WtEn:lambda_lifting x [[Date(2024-01-10T17:27:53)]] ... Google:lambda+lifting Naver:lambda+lifting } 알파동치 alpha_equivalence 베타축약 beta_reduction 베타동치,beta_equivalence 베타 동치 beta equivalence 베타표준형,beta_normal_form 베타 표준형 beta normal form [[Wiki:AlphaEquivalence]] α-conversion β-reduction = Reduction = // [[,reduction]] - writing tmp from [[WpEn:Lambda_calculus#Reduction]] There are three kinds of reduction: α-conversion: changing bound variables; β-reduction: applying functions to their arguments; η-reduction: which captures a notion of extensionality. https://foldoc.org/eta+reduction https://wiki.haskell.org/Alpha_conversion is a renaming of variables. https://wiki.haskell.org/Eta_conversion = chk = ||[[항등함수,identity_function]] ||λx.x ||$x \mapsto x$ ||$\lambda x.x$ || ||[[상수함수,constant_function]] ||λx.λy.x ||$x \mapsto y$ ||$(\lambda x.y)$ || ---- = 역사 = 1930년대 Alonzo_Church가 = tmp Files: = A Tutorial Introduction to the Lambda Calculus, Raul Rojas, FU Berlin https://personal.utdallas.edu/~gupta/courses/apl/lambda.pdf https://www3.cs.stonybrook.edu/~cram/cse526/Spring20/Lectures/untyped-lambda.pdf { [[Date(2021-07-01T13:07:56)]]에 대충 훑어보기 Church encoding of Booleans, aka Church_booleans - for encoding Booleans in the '''λ-calculus.''' ....이건 표 만들어야됨 Boolean 뿐만 아니라 [[자연수,natural_number]] [[자료구조,data_structure]]등 각종 ...을 encode. 그 다음 [[평가,evaluation]] - evaluating lambda expressions. reduction reduction strategies에 알파 베타 등.. 다음 free and bound variables. α-conversion (renaming) Y-combinator Z-combinator [[재귀함수,recursive_function]]s in the λ-calculus } (매우대충봄) = tmp links ko = https://helloworld.kurly.com/blog/lambda-calculus-1/ 2020 1. lambda expression - 추상화를 하는 방식 2. beta reduction - 추상화된 문제를 풀어내는 방식 3. name clash - beta reduction의 문제 4. alpha conversion - name clash를 방지하기 https://www.sangkon.com/haskell-study-part02/ = mklink Turing = '''람다계산법'''은 [[튜링_기계,Turing_machine]]와 표현력이 같다. 튜링기계로 돌릴 수 있으면, 람다계산법으로 계산할 수 있고, vice versa. ##(이광근) = tmp links en = [[하스켈,Haskell]] wiki 에서 https://wiki.haskell.org/Alpha_conversion https://wiki.haskell.org/Beta_reduction https://wiki.haskell.org/Eta_conversion [[name_capture]] =,name_capture . name_capture name capture beta_reduction 에서 ...tbw http://foldoc.org/name+capture Ggl:"name capture" [[de_Bruijn_notation]] =,de_Bruijn_notation . de_Bruijn_notation { '''de Bruijn notation''' 더브라윈_표기법 [[WtEn:de_Bruijn_notation]] = https://en.wiktionary.org/wiki/de_Bruijn_notation lambda_notation 의 일종 http://foldoc.org/De+Bruijn+notation } de Bruijn notation ... Ggl:"de Bruijn notation" [[lambda_notation]] =,lambda_notation . lambda_notation lambda notation (not in foldoc!) Ggl:"람다 표기" [[pure_lambda_calculus]] =,pure_lambda_calculus . pure_lambda_calculus http://foldoc.org/pure+lambda-calculus = tmp bmks en = https://hjaem.info/articles/en_12_2 http://hi.gher.space/wiki/Lambda_calculus = tmp TODO = [[RR:람다식,lambda_expression]] = Misc = (tmp) (번역에서 쓴 표현에 대해) 여기서 말하는 'calculus'가 해석학의 일종인 미적분학이 아님은 명백하지만, '대수'라는 번역어의 선택은 보통 '대수'↔'algebra'임을 생각해 볼 때 특이한 점. 즉 [[대수학,algebra]]으로 번역한? 람다대수에서 '대수'에 해당하는 것은 see also [[미적분,calculus#s-15]] et [[형식체계,formal_system]] '''람다계산, 람다계산법, 람다셈법'''도 보인다. 요약하자면 '미적분학'이 아닌 calculus를 마땅히 번역할 단어가 없어서, algebra나 computation에 더 가까운 단어로 번역된 것. 일단 pagename은 가장 자주 쓰이는 '람다대수'로 했는데, calculus를 대수로 번역하기가 좀...(틀린 건 아니지만, 다른 곳에서 다른 뜻으로 많이 쓰임. 대수는 logarithm, algebra 의 번역어로 쓰임. 계산/계산법은 computation/calculation 에 가까운 느낌을 준다. 물론 calculus는, (logarithm은 상관없고) 'algebra', '계산'과 뜻에서 겹치는 부분이 있긴 하나, 아무래도 적당한 번역어가 없는 나머지 이미 다른 곳에서 잘 쓰이는 단어를 임시로 차용한 느낌이다) calculus의 번역엔 '논리'도 자주 보인다. 대수/계산(법)/논리 이 셋이 나름 최선의 번역이기는 함 (모두 [[규칙,rule]]/[[논리,logic]]/[[공리,axiom]]/...에 따라 [[식,expression]]/[[문자열,string]]/...(등의 어떤 [[대상,object]])을 변형/rewriting/[[변환,transformation]]/... 등을 하는 [[형식체계,formal_system]]얘기이므로) calculus의 다른 적당한 번역이 없을까? ... WtEn:calculus KmsE:calculus WpSp:Calculus WpEn:Calculus = tmp twins = [[WtEn:lambda_calculus]] = https://en.wiktionary.org/wiki/lambda_calculus ---- Twins: http://foldoc.org/lambda-calculus https://pub.mearie.org/람다대수 https://mathworld.wolfram.com/LambdaCalculus.html http://www.aistudy.co.kr/computer/lambda_calculus.htm [[WpKo:람다_대수]] [[WpEn:Lambda_calculus]] [[WpEn:Category:Lambda_calculus]] [[Wiki:LambdaCalculus]] https://plato.stanford.edu/entries/lambda-calculus/ https://everything2.com/title/lambda+calculus https://ncatlab.org/nlab/show/lambda-calculus https://esolangs.org/wiki/Lambda_calculus [[WpSimple:Lambda_calculus]] https://encyclopediaofmath.org/wiki/Lambda-calculus https://brilliant.org/wiki/lambda-calculus/ Up: [[전산학,compsci]] [[형식체계,formal_system]] 계산모델 ,,computation_model ? ,, Ndict:계산모델 Ggl:계산모델 [[calculus]] - appropriate pagename? 이 페이지 rename도 고려중. ...Bing:"람다 대수" Ndict:"람다 대수" Ggl:"람다 대수"