내 이맥스에서 SICP를 공부하고 싶습니다. MIT Scheme, Emacs 24 및 다운로드 한 sicp 정보 (이 가이드 http://www.pchristensen.com/blog/articles/setting-up-and-using-emacs-infomode/ 사용)를 설치했습니다. 지금은 전용 버퍼의 계획 인터프리터 (MX의 실행 계획)을 실행 할
저는 SICP의 메타 순환 평가 기 (meta-circular evaluator)를 기반으로 장난감 파이썬 Scheme 인터프리터를 작성하려고합니다. 파이썬은 제한된 깊이의 호출 스택만을 지원하므로 꼬리 호출을 제거해야합니다. 나는 trampolines에 대해 읽고 parser를 구현했다. 하지만 trampolines와 함께 사용할 연속 통과 스타일에서 분
닥터 라켓에서 출력을 읽는 데 문제가 있습니다. 기본적으로 mcons를 사용하여 목록을 표시합니다. 예를 들어, sicp exercise 2.32는 다음을 생성합니다. > (subsets (list 1 2 3))
(mcons
(mcons
'()
(mcons
(mcons 3 '())
(mcons
(mcons 2
나는 SICP를 읽고/프로그램하는 것을 배우기로 결심했다. 내가 DrRacket 및 http://www.neilvandyke.org/racket-sicp/ 을 사용하고 나는 블랙 잭 프로그램 https://github.com/fnava621/scheme_blackjack을 썼다. 그것은 작동합니다. 이 프로그램을 더 읽기 쉽고 간결하게 만들 수 있습니까?
는 : http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-16.html#%_sec_2.3.3 나는 데이터 구조가 작동하는 방법과 그들을 통해 통과 할 수 있지만, 그것의 사용을 개념화하기 힘든 방법을 이해합니다. 다른 단어로 설명하는 것이 좋겠지 만 클릭하면 도움이 될 수 있습니다. 정말 고마워.
구조와 해석 컴퓨터 프로그램의 내가 읽어 봤는데 책은 제로를 정의하여 교회의 숫자를 제시하고 증분 기능 zero: λf. λx. x
increment: λf. λx. f ((n f) x)
이 나에게 꽤 복잡한 듯이 그림을 나에게 정말 오랜 시간이 걸렸습니다 그 중 하나 (λf.λx. f x)와 두 개 (λf.λx. f (f x))를 파생시킵니다. 숫자
내 과정 중 하나는 SICP의 일부 섹션에 DrRacket을 사용하고 있습니다. 우리는 metacircular 평가자에 대한 작업을하고 있고 내 작업에 사용해야하는 R5RS 코드 파일 (set-car! 및 set-cdr!)이 있습니다. R5RS 파일은 대략 500 줄이므로 별도의 버퍼에 보관하는 것이 좋습니다. 응답 버퍼의 정의에 어떻게 포함시킬 수 있습니
가 나는 MIT 계획이 사소한 (커먼 리스프에서) 매크로에 해당 만들려고 당황 해요 : (defmacro funcify (exp)
`(lambda (x) ,exp))
이 간단한 개인 프로젝트입니다, 수치 방정식 솔버에 내장 된 기능에 따라 두 번째 SICP 강연. 나는이 매크로가 "안전"또는 "위생적"이 아니거나 exp가 'x'이외의 다른 기호
Clojure에서 일부 시작 SICP 코드를 구현하는 동안 예기치 않은 NullPointerException이 발생했습니다. 특히 1.1.7 절에서 반복 제곱근 절차를 구현하려고합니다. (defn square [x] (* x x))
(defn abs [x]
(cond
(< x 0) (- x)
:else x))
(defn a