lambda-calculus

    1

    2답변

    는 하스켈 또는 람다 계산법은 다음 함수 유형을 제공한다고 가정 이 둘은 어떻게 다른가요? valatzero :: Num a => (a -> t) -> t valatzero f = f 0 plus :: Num a => a -> a -> a plus x y = x + y

    1

    2답변

    나는 람다 미적분을 다루는 언어를위한 작은 컴파일러를 작성하려고한다. 여기 내가 찾은 그 언어의 모호한 정의입니다. E →^v . E | E E | (E) | v 기호 ^,, (,)와 V는 토큰입니다. ^는 람다를 나타내며 v는 변수를 나타냅니다. ^ v.E 형식의 표현식은 함수 정의입니다. 여기서 v는 함수의 형식 매개 변수이고 E는 본문입니다. f와

    4

    1답변

    하스켈 표현식을 감안할 때, 나는 알파 변환을 수행하고 싶습니다. 일부 비어 있지 않은 변수의 이름을 바꿉니다. haskell-src-exts Exp 트리에서 작동하는 내 자신의 기능을 구현하기 시작했습니다. 그러나 놀라 울 정도로 치명적이지는 않지만 궁금증을 풀 수 없습니다. 이런 종류의 소스 변환을위한 사용하기 쉬운 라이브러리 솔루션? 이상적으로는 ha

    19

    2답변

    Hindley–Milner Type Inference 위키 피 디아의 기사를 읽고 있습니다. 지금까지 내가 이해 한 바가 있습니다 : 유형은 모노 타입 또는 폴리 타입으로 분류됩니다. 모노 유형은 int 또는 string과 같은 유형 상수 또는 α 및 β과 같은 유형 변수로 분류됩니다. 유형 상수는 콘크리트 유형 (예 : int 및 string)이거나 유형

    6

    1답변

    베타 감소를 위해 다음 함수를 정의했지만 자유 변수가 구속되는 경우를 어떻게 고려해야할지 모르겠습니다. data Term = Variable Char | Lambda Char Term | Pair Term Term deriving (Show,Eq) --substition s[M:x]= if (s=x) then M else s AB[M:x]= (A[M:

    1

    1답변

    나는 웹에서 기능적 프로그래밍 소개 Notes을 발견했으며이를 통해 작업하려고합니다. Find an example to show that if V1 = V2 , then even if V2 is not free in E1, it is not necessarily the case that: (λ V1 V2 . E) E1 E2 = E [E1/V1][E2/

    4

    1답변

    람다 미적분 해석기를 테스트 해보고 싶습니다. 상당히 큰 람다 미적분 식 집합에 대해 작성했습니다. 누구든지 사용할 수있는 람다 Calc 표현식 생성기 (Google에서 초기 검색시 아무 것도 찾을 수 없음)를 알고 있습니까? 이러한 표현은 분명히 적절하게 형성되어야합니다. 나는 여러 가지 예제를 직접 만들었고 결과를 확인할 수 있도록 노력했지만 솔루션을

    1

    1답변

    안녕하세요 나는 데 문제가 증명한다. 예를 들어, λyz.xz (yz)의 [λxy.x/x]는 내가 λyz.xz (yz)라는 식의 모든 x에 대해 (λxy.x)를 대체하려한다는 것을 의미합니다. 지금까지 시도한 내용은 다음과 같습니다. SK를 줄이고 나는이있어 : S K (λxyz.x z(y z)) (λxy.x) [λxy.x/x] in λyz.x z(y

    12

    2답변

    OCaml의에서, .mli에 가지고 법적 : val f : 'a -> 'a val g : 'a -> 'a 및 .ml : F 번호에 그러나 let f x = x let g = f 이 거부됩니다 : eta_expand.ml(2,5): error FS0034: Module 'Eta_expand' contains val g : ('a -> 'a

    1

    1답변

    나는 C#으로 public delegate Lambda Lambda(Lambda x); 문제를 람다 표현식을 구성하는 대의원을 사용 g*f = λz.(g z = error) -> error, (f o g)z f o g = λz.f(g z) 내가 돈이다 시퀀스 연산자를 표현하기 위해 노력하고 오류 기간을 인코딩하는 방법을 알지 못합니다. 진실한 거