kb84tkhrのブログ

何を書こうか考え中です あ、あと組織とは関係ないってやつです 個人的なやつ

Reasoned Schemer (58) 10章 ifte もう少し

if-then-elseとconda、なんとなくつながりがありそうな気はするんだけど
どうなるんだ?

condaの式をifteで書けるはずなんだよな

(conda (#s #u) (#s #s))を書き直してみよう

えーと
(ifte #u #s (ifte #s #u
最後のelse部は何だ?
なんにもマッチしなかった場合だから、#uでいいのかな
(ifte #u #s (ifte #s #u #u))

> ((ifte fail succeed (ifte succeed fail fail)) empty-s)
()
> ((ifte succeed succeed (ifte succeed fail fail)) empty-s)
(())

よさそう
なんだけど
failが()なのはいいとしてsucceedは(())でいいんだったかな・・・
()でなければsucceedってことでいいのか
めっちゃ基本的なところがわかってなかった

> (succeed empty-s)
(())
> ((== x 'a) empty-s)
(((#(x) . a)))

いいことにしよう