[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[jfriends:00700] Re: 問題 4.71 の手前
------------------------- infoseek ML Sponsor --------------------------
┏━┳━┳━┳≪資格の大原 合格Web 税理士講座 ≫━┳━┳━┳━┳━┓
┃大┃原┃税┃理┃士┃講┃座┃!┃合┃格┃者┃の┃84┃%┃が┃受┃講┃
┗━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┛
★パソコンさえあれば自宅で学べるのが合格Web!24時間いつでも何度でも受講
┗ http://www1.ibc.ne.jp/ad/ibc0088.html
------------------------------------------------------------------------
鈴木です。
のなかさん始めまして。
やってみました。
;;MzScheme
> (force (delay 100))
100
> (force (delay (delay 100)))
#<promise>
;;Gambit (for win)
> (force (delay 100))
100
> (force (delay (delay 100)))
100
ほんとうだ、こりゃおかしい。
というわけで、自分で作りましょう
> (define-macro (my-delay exp) `(lambda () ,exp))
> (define-macro (my-force exp) `(,exp))
> (my-force (lambda () 100))
100
> (my-force (my-delay 100))
100
> (my-force (my-delay (my-delay 100)))
#<procedure #x1451D1>
> (my-force (my-force (my-delay (my-delay 100))))
100
こんな感じです。
いかがでしょう?
Gambitのソースコードもちらっと見てみましたが、
よくわかりません。
そういえばLISPMEのソースも読んでいたけど、
途中で止まっているなあ。
鈴木秀直
------------------------------------------------------------------------
★今なら登録するだけで現金50万円が当たる!?
http://research.infoseek.co.jp/research/index.phtml/mail?svx=971122