パスワードを忘れた? アカウント作成
507984 journal

t-nissieの日記: Schemeb自習帳003 andとorは途中で評価をやめるが…

日記 by t-nissie
andとorは結果が決まったら途中で評価をやめるが、<はやめないみたいです。
ちょっと予想外です。R5RSの"These predicates are required to be
transitive." ってのはこのことなのか、それともまったく別のことなのか。

$ cat larger.scm
(define (ten)
  (display "ten ")
  10)

(define (hundred)
  (display "hundred ")
  100)

(define (thousand)
  (display "thousand\n")
  1000)

(< (ten) (hundred) (thousand))   ; => #t
(< (hundred) (ten) (thousand))   ; => #f

(define (true)
  (display "true ")
  #t)

(define (false)
  (display "false ")
  #f)

(or (false) (false))   ; => #f
(display "\n")
(or (true) (false))    ; => #t
(display "\n")
(and (false) (true))   ; => #f
(display "\n")
$ gosh larger.scm
ten hundred thousand
hundred ten thousand
false false
true
false
$
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

人生の大半の問題はスルー力で解決する -- スルー力研究専門家

読み込み中...