Sto usando Scheme GNU/MIT:Perché + e * valutano rispettivamente a 0 e a 1?
1 ]=> (+)
;Value: 0
1 ]=> (*)
;Value: 1
1 ]=> (-)
;The procedure #[arity-dispatched-procedure 2] has been called with 0 arguments; it requires at least 1 argument.
;To continue, call RESTART with an option number:
; (RESTART 1) => Return to read-eval-print level 1.
2 error> (/)
;The procedure #[arity-dispatched-procedure 3] has been called with 0 arguments; it requires at least 1 argument.
;To continue, call RESTART with an option number:
; (RESTART 2) => Return to read-eval-print level 2.
; (RESTART 1) => Return to read-eval-print level 1.
Come mai +
e *
sono entrambi valutati rispettivamente a 0 e 1. E perché valutare -
e /
genera un errore?
Questa parte della definizione Scheme o è un dettaglio di implementazione in Schema GNU/MIT?
https://en.wikipedia.org/wiki/Empty_product https://en.wikipedia.org/wiki/Empty_sum – Wes