Lisp Scheme Part19at TECHLisp Scheme Part19 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト603:デフォルトの名無しさん 08/02/16 12:42:06 > (time 1) cpu time: 0 real time: 0 gc time: 0 1 > (time (+ 1 1)) cpu time: 0 real time: 0 gc time: 0 #<struct:promise> だなあ。 604:デフォルトの名無しさん 08/02/16 13:16:33 v372@PPCmacだと ようこそ DrScheme, バージョン 372 [3m]. 言語: Lazy Scheme. > (time 1) cpu time: 0 real time: 1 gc time: 0 1 > (time (+ 1 1)) cpu time: 0 real time: 0 gc time: 0 #<promise:?> になりますね とにかく構文に渡されたimplicit promiseはimplicit forceされないので implicit forceされた物を構文に渡さないといけないみたい 605:デフォルトの名無しさん 08/02/16 13:24:37 いや違った 構文の値を受け取る継続がトップレベルまたは構文の場合は implicit forceされない…のかも 606:デフォルトの名無しさん 08/02/16 14:14:59 単に値をpromiseで持ち回ってるのではなくて ちゃんと正規評価してると考えた方がいいのかも ifやcond遅延評価処理系では関数的な構文 トップレベルでは評価されない そういった意味では構文はquoteとdefineとset!とlambdaとその派生式のみになる timeやifやcondやandやorは関数的な構文なので評価されない これで辻褄が合うと思う 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch