質問What's the explanation for Exercise 1.6 in SICP?に加えて。 Dr. Racket(R5RS)は有限時間内に "if"を使ってsqrt-iter関数を評価し、正常な順序評価を明確に示しています。しかし、私がエクササイズからの例を使用すると、私は "if"が申請注文評価を使用していると思うようになります。 だからどこが間違っていますか?何が起こるSICPエクササイズ1.5および1.6
5
A
答えて
8
はif
に達したことはありませんということです:からこそ評価の応用的オーダーでtest
の両方の引数はが実際にtest
を呼び出す前を評価され、そしていつまでも表現(p)
がループます。
通常の順序で同じ手順を評価した場合、ゼロを返します。これは、この例題が最初に実証しようとしていることです。最初の行でます#langスキームディレクティブでDrRacketを使用して
3
は、私が...それを
;say "hi" to Ben Bitdiddle
(define (q) (display "Hello?...Ben?)
(define (test x y)
(if (= x 0)
0
y))
をこの方法を試してみましたそれから私は評価をステップ実行するDrRacket 5.3デバッグ・ツールを使用していました。
明らかに申請注文評価です。
評価ウィンドウが表示されます - >こんにちは? ...ベン?それに続いて0のcuz DrRacketは "if"を入力する前に(q)の呼び出しを評価します。
関連する問題
- 1. SICPエクササイズ1.5
- 2. SICPエクササイズ3.13 - make-cycle
- 3. SICPエクササイズ1.28:Miller-Rabinテストの偽陰性
- 4. はGWT 2.6およびJDK 1.6
- 5. AngularJS 1.6および非角型イベントハンドラ
- 6. MachineKey Azure SDK 1.5/1.6
- 7. spring rmi java 1.4およびjava 1.5
- 8. SICP(エクササイズ1.3)の練習開始時のエラー
- 9. SICPでの演習1.6の説明は何ですか?
- 10. Delphi 7およびWindows 10にDDevextensions 1.6をインストールする
- 11. NET標準ライブラリ1.6のSystem.ConverterおよびString.Internet?
- 12. Spark SQLパフォーマンス:バージョン1.6対バージョン1.5
- 13. JDK 1.5でビルドエラーが、1.6で接続インタフェース
- 14. は1.5 UI-ルータおよびコンポーネントを使用して、UI-SREF
- 15. Subversion 1.5(および1.4 Server)との非常に遅いマージ
- 16. 角度1.5および複数のネストされたデータ構造
- 17. Appium 1.6とIOS 10およびXcode 8.0 - appiumインスペクタを起動できません
- 18. &&(論理および)および|| (if文)
- 19. なっNoSuchMethodError()JDK 1.5で実行しているが、1.6
- 20. Quickfixj 1.5.x/1.6.x繰り返しのグループコンパイルの問題
- 21. java 1.5とjava 1.6の間のjava.sql.Connectionの互換性の問題
- 22. java xml検証JDK 1.5 JDK 1.6の相違
- 23. Go 1.5と1.6のyaccの下位互換性
- 24. jdk 1.5でオブジェクトをシリアライズしてデシリアライズjdk 1.6
- 25. sicpセクション4.1.6
- 26. SICPにおけるフラットマップの意義は何ですか?
- 27. はSICPはまだお勧めですか?
- 28. SICPにおけるフェルマー試験の成長の順序
- 29. - 、_、およびR
- 30. SICP - 手順とプロセス