cond1.q2 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. # Kawa-options: --no-warn-void-used %F
  2. # The above option is only needed if CompileMisc.optimizeSimpleApply is false.
  3. define (print-sign1 x)
  4. x > 0 ?> format #t "~s is positive~%" x
  5. x < 0 ?> format #t "~s is negative~%" x
  6. format #t "~s is zero~%" x
  7. format #t "Using print-sign1:~%"
  8. print-sign1 20
  9. print-sign1 -7
  10. print-sign1 (7 - 7)
  11. # Output: Using print-sign1:
  12. # Output: 20 is positive
  13. # Output: -7 is negative
  14. # Output: 0 is zero
  15. define (print-sign2 x)
  16. x > 0 ?>
  17. display x
  18. display " is positive"
  19. newline
  20. x < 0 ?>
  21. display x
  22. display " is negative"
  23. newline
  24. display x
  25. display " is zero"
  26. newline
  27. format #t "Using print-sign2:~%"
  28. print-sign2 20
  29. print-sign2 -7
  30. print-sign2 (7 - 7)
  31. # Output: Using print-sign2:
  32. # Output: 20 is positive
  33. # Output: -7 is negative
  34. # Output: 0 is zero
  35. define (print-sign3 x)
  36. display x
  37. (x > 0 ?> display " is positive" ; x < 0 ?> display " is negative"; display " is zero")
  38. newline
  39. format #t "Using print-sign3:~%"
  40. print-sign3 20
  41. print-sign3 -7
  42. print-sign3 (7 - 7)
  43. # Output: Using print-sign3:
  44. # Output: 20 is positive
  45. # Output: -7 is negative
  46. # Output: 0 is zero
  47. # This doesn't work. Should it?
  48. define (print-sign4 x)
  49. display x
  50. x > 0 ?> display " is positive " ; x < 0 ?> display " is negative "; display " is zero "
  51. newline
  52. define (print-comps1 x)
  53. (x > 0 ?> format #t "~s is > 0~%" x)
  54. (x < 0 ?> format #t "~s is < 0~%" x)
  55. (x >= 0 ?> format #t "~s is >= 0~%" x)
  56. (x <= 0 ?> format #t "~s is <= 0~%" x)
  57. format #t "Using print-comps1:~%"
  58. print-comps1 20
  59. print-comps1 -7
  60. print-comps1 (7 - 7)
  61. # Output: Using print-comps1:
  62. # Output: 20 is > 0
  63. # Output: 20 is >= 0
  64. # Output: -7 is < 0
  65. # Output: -7 is <= 0
  66. # Output: 0 is >= 0
  67. # Output: 0 is <= 0
  68. define (print-comps2 x)
  69. x > 0 ?> format #t "~s is > 0~%" x
  70. x < 0 ?> format #t "~s is < 0~%" x
  71. x >= 0 ?> format #t "~s is >= 0~%" x
  72. x <= 0 ?> format #t "~s is <= 0~%" x
  73. format #t "Using print-comps2:~%"
  74. print-comps2 20
  75. print-comps2 -7
  76. print-comps2 (7 - 7)
  77. # Output: Using print-comps2:
  78. # Output: 20 is > 0
  79. # Output: -7 is < 0
  80. # Output: 0 is >= 0