2008-05-17から1日間の記事一覧

問題2-83

「整数->有理数->実数->複素数」というように、各型を拡大解釈するための順序が存在する場合、型のレベルを一段上げるための手続きraiseを定義してやれば、強制型変換ロジックを汎用化することができます。この中で、「実数」に関しては、これまで扱ってこなかっ…

問題2-84

raiseを使ってapply-genericを改善します。これによって、get-coercion/put-coercionやt1->t2のような型変換のベタ書きを排除することができます。まずは、オブジェクトツリーの各要素に自身のレベルを表す値を返すような手続きを追加しました。 ;(define (t…

問題2-87

型を単純化するdrop手続きを定義します。この問題に関しては、結構手間取った割には、まだまだ完全な解答を導きだせておらず、またこれまでのequ?やraiseの実装方法に重大な誤りがあったことを発見しました。 まずは、dropのインターフェイスを定義します。 …