Reasoned Schemer (93) 符号付き 続き
えーと
どうなってんの
> (check-sumo-augend -5 -5)
user break
> (check-sumo-augend 1 1)
user break
> (run* n (sumo n '(0 1) '(0 1)))
user break
> (run 1 n (sumo n '(0 1) '(0 1)))
'(())
なるほど
2個めを探しにいこうとして見つからないってことか
> (run 2 n (sumo n '(0 1) '(0 1)))
'(() (0))
ぶほ
へんなのでた
> (run 3 n (sumo n '(0 1) '(0 1)))
'(() (0) (1))
ちょちょちょっとまって
> (run 4 n (sumo n '(0 1) '(0 1)))
user break
とまった
ほっ
としてる場合じゃない
こういうコードはどうやってデバッグしたらいいんだ
じっと結果を見る
これは符号+0っていう数を作っちゃってるってことだなたぶん
ここか
((fresh (ns nn ms mn)
(== `(,ns . ,nn) n)
(== `(,ms . ,mn) m)
(gen-sumo ns nn ms mn k)))))
n
やm
が0の場合はここでは扱わなくてよかった
non overlapping property大事だな
((fresh (ns nn ms mn)
(== `(,ns . ,nn) n)
(== `(,ms . ,mn) m)
(poso nn) (poso mn) ;ここ
(gen-sumo ns nn ms mn k)))))
こうだろう
> (run 1 n (sumo n '(0 1) '(0 1)))
'(())
> (run 2 n (sumo n '(0 1) '(0 1)))
user break
ほら
ほらじゃない
なんで止まるのか考えないと