lambda-calculus

    15

    7답변

    인수가 적어도 n 인 함수가 주어지면 첫 번째 인수를 n 번째 인수가되도록 회전하려고합니다. 예를 들어 (유형이 지정되지 않은 람다 계산법에서) : r(λa. a) = λa. a r(λa. λb. a b) = λb. λa. a b r(λa. λb. λc. a b c) = λb. λc. λa. a b c r(λa. λb. λc. λd. a

    26

    3답변

    저는 Ruby를 처음 접하면서도 언어 디자인 원칙을 이해하려고 노력하고 있습니다. 내가 정상적으로 처리했다면 루비의 람다 식 호출은 대괄호로 묶여 있어야하고, "일반"함수 호출은 "보통"/ 둥근 괄호가 있어야합니다. 구문이 다른 특별한 이유가 있습니까? 즉 호출자가 함수를 호출하거나 람다 식을 적용하는지 여부를 알고 있어야합니다 (이유).

    3

    2답변

    나는 람다 계산법에 익숙하지 않아 다음을 증명하기 위해 고심하고 있습니다. SKK와 II는 베타 버전과 같습니다. 는 S 람다 xyz.xz (YZ를) = K = 람다 xy.x I = 람다 XX 그것을 열어서 SKK을 감소 베타하려고했으나데도 없어 그것을 지저분해진다. 적은 단계와 다른 접근 방식, 첫 λyz.z하는 SK를 줄이고,, SKK이 S를 확장하지

    8

    4답변

    나는 (내가의 종류의 계획에 이해)와 D 2.0을 구현하는 Y-콤비 더 배우려고 노력하고있어 나는 매우 비참하게 실패하고 있습니다 : auto fact = delegate(uint delegate(uint) recurse) { return delegate(uint n) { return n > 1 ? n * recurse(n -

    3

    2답변

    다음 Prolog 코드를 직면하고 있습니다. [X] >> Y 표현식은 람다 식 λ X.Y에 대해 입니다. 이 코드는 람다 을 제거하고 S를 통해 조합 적 표현을 제공, K와 나는 : ?- convert([X]>>([Y]>>apply(Y,X)),R). R = apply(apply('S', apply(apply('S', apply('K', 'S')),

    1

    1답변

    ... partial application (또는 부분 기능 응용)은 함수에 인수의 수를 고정하여 더 작은 수의 다른 함수를 생성하는 프로세스를 나타냅니다. 다음에 특정 이름이 있다면 내가 발견하고 싶은 : (의사 코드!) // Given functions: def f(a, b) := ... def g(a, b) := ... def h(a, b) :=

    7

    6답변

    에서 람다 기능을하고있어 재사용하는이 코드를 취할 : f x y z = x^3 - g (x + g (y - g z) + g (z^2)) where g x = 2*x^2 + 10*x + 1 을 어디없이 다시 (또는하자). 그들은 람다 함수를 작성하는 의미 (\ X -> ...) 나는 하스켈에 람다 기능을 재사용하기 위해 노력하고있어 . 어떤 아이디어?

    5

    1답변

    람다 미적분 연산자 우선 순위를 이해하는 데 문제가 있습니다. 예를 들어 다음 코드를 lambda x.x z lambda y.x y 이 될 것입니다 : lambda x. (x (z lambda y. x y)) 또는 lambda x. ((x z) (lambda y. x y)) ? 훨씬 더 복잡한 예 : (lambda x.x z) lambda y.w

    16

    3답변

    하스켈에서 교회 숫자를 구현하려하지만 사소한 문제가 발생했습니다. 하스켈은 수표를 발생 와 무한한 종류의 불평 : 무한 유형 만들 수 없습니다 : t = (t -> T1) - 나는 노력과 뺄셈을 할 때> T2 -> (T1 -> T2)를. 나는 나의 람다 미적분학이 유효하다는 것을 99 % 긍정적이다. (그렇지 않다면 말해라.). 내가 알고 싶은 것은, ha

    7

    1답변

    을 무두질하지 않고 단일 매개 변수로 두 개의 값을 전달 다음 베타 감소가 지정되지 않은 람다 계산법에 허용되는 이유는 이해할 수 없다는 : 특히 (λx.x y) (u v) -> ((u v) y) 나는 하나가 두 개의 매개 변수 u 및 v을 전달할 수있는 방법을 이해할 수 없다 λx.x 부분의 단일 매개 변수 x으로 위와 같이 허용하려면 currying