(wat-aro)

生きてます

2015-12-22から1日間の記事一覧

SICP 問題 4.15

;; 引数の手続きpとオブジェクトaについて,式(p a)停止するかどうかを正確に判断するような手続きhalts? (define (run-forever) (run-forever)) (define (try p) (if (halts? p p) (run-forever) 'halted)) (try try) ;; まずこれが停止すると仮定する.す…

SICP 問題 4.14

;; M-EVAL中の手続きは先頭に'procedureがついたリスト. ;; 基層のLispのmapを使うとただのリストとして受け取ってしまうためにうまくいかない. (define primitive-procedures (list (list 'car car) (list 'cdr cdr) (list 'cons cons) (list 'null? null…

SICP 問題 4.13

(define (scan var vars vals proc) (cond ((null? vars) #f) ((eq? var (car vars)) (proc var vars vals)) (else (scan var (cdr vars) (cdr vals) proc)))) ;; 束縛された変数を解放するmake-unbound! ;; first-frameだけでに限定しないと (define (make-…