Core의 구조를보다 잘 이해하기 위해 Core Haskell 용 커스텀 예쁜 프린터를 작성했습니다. 이 예쁜 프린터의 주안점은 CoreModule이며 출력에 데이터 생성자가 포함되어 있으며 기본값은 Outputable 구현이 아닌 것으로 보입니다. 여기 module Bar2 where
add :: Int -> Int -> Int
add a b = a
불량배 내부에서 람다 미적분을 구현하려고하는데 우선적으로 파싱하고 문제를 해결하는 데 어려움을 겪고 있습니다. (fun x -> fun y -> x) 1 2 결과 나무는 다음과 같습니다 : prog(app(
app(
func(
"x",
func(
"y",
var("x")
nat(1),
정수를 취하여 그 숫자를 church encoded 함수 형태로 반환하는 함수가 필요합니다. 나는 newlisp이를 달성 : (define (reduce stencil sq) (apply stencil sq 2))
(define (num n) (cond
((= n 0) 'x)
((< n 2) '(f x))
(true (reduc
나는 ANF (관리 일반 형식)을 grok하려고하지만 람다 용어의 번역을 이해하는 데 어려움을 겪고 있습니다. 다음 람다 용어를 고려하십시오 : λx.x. ANF로 어떻게 인코딩합니까? x 변수이지만, 람다 기관은 ANF 문법에 따라, 바인딩하자 또는 ANF의 함수 응용 프로그램이어야합니다는 EXP ::= VAL VAL
| let VAR = EX
값 람다 계산법에 관한 문의 사항이 있습니다. 1) λx. (λy.y) X가 붙어 용어 또는 λx.x 위해 평가되어야 하는가? 2) λx. 어떻게이 일에 대해 (λy.y) (λz.z)? 3) 구현 평가 방법을 제어하는 방법은 무엇입니까? 나는 매우 혼란 느낄 , 하나는이 값 붙어 용어, 평가의 순서를 설명 할 수있는, 어떻게 통제하기 위해? 미리 감사드
저는 최근에 계산 모델을 연구 해왔고 질문이 떠 올랐습니다. 많은 계산 모델의 경우 실제 컴퓨터에서 구현할 수있는 것처럼 보입니다. 사실 일부는 실제 물리적 개체를 기반으로합니다. 예를 들어 Automatas (FSM, PDA 및 Turing Machine), Post-Machines, RAM Machine와 같은 명령형 모델이 그 예입니다. 이것은 양자
우선, 이런 것들을 공부 한적이 없으므로 유감스럽게 생각하는 바보 같은 질문을 할 수도 있습니다. :) 나는 람다 계산을 구현하는 중입니다. , 필요에 따라 전화를받습니다. 나는 해당 비트가 28 페이지에 설명 된 자연스런 의미로 보이는 주제에 대해 this paper을 따르려고합니다. 어쨌든이 평가 전략에 대해 이해할 수없는 것은 이해할 수있는 한 실제
나는 하스켈에서 람다 미적분을 배우고 있는데, 그 동안에 나는이 질문에 마주 친다. 그리고 이러한 문제의 해결은 이것이다 : 그러나 나는 그들이 대답을 체결하는 방법을 이해 할 수없는입니다. eq와 마찬가지로, 나는 이것들이 어떻게되는지 이해하지 못한다 : λab.a b (b (λxy.y) (λxy.x)) 그리고 nand도 같다. 누군가가 그것을 설명하고이