EoPL reading (136) 3.2 The Front End
昨晩の不具合は eopl:error-stop の定義が微妙な事が原因。呼び出されてるのは sllgen:error 内。
(define sllgen:error (lambda (who format . data) ;; print the message (eopl:printf "Error reported by sllgen during ~s:~%" who) (apply eopl:printf (cons format data)) (newline) (eopl:error-stop)))
eopl:error-stop の定義は define-datatype.scm の中で以下。
(define eopl:error-stop error)
適当にヤッツケちゃってるから、こーゆーコトになる訳ですが、どうしたものやら。
とりあえず
新たな例外を、とか色々考えたんですが、面倒なので以下?
(define sllgen:error (lambda (who format . data) ;; print the message ; (eopl:printf "Error reported by sllgen during ~s:~%" who) ; (apply eopl:printf (cons format data)) ; (newline) ; (eopl:error-stop))) (eopl:error format data)))
お仕事端末が微妙なので今からそちら対応。マトモになったら職場の同僚にタテて頂いたサイトに pukiwiki 仕込み対応予定ッス。