71 |
@deffn syntax if test consequent [alternate] |
@deffn syntax if test consequent [alternate] |
72 |
All arguments may be arbitrary expressions. First, @var{test} is |
All arguments may be arbitrary expressions. First, @var{test} is |
73 |
evaluated. If it returns a true value, the expression @var{consequent} |
evaluated. If it returns a true value, the expression @var{consequent} |
74 |
is evaluated and @var{alternate} is ignoret. If @var{test} evaluates to |
is evaluated and @var{alternate} is ignored. If @var{test} evaluates to |
75 |
@code{#f}, @var{alternate} is evaluated instead. The value of the |
@code{#f}, @var{alternate} is evaluated instead. The value of the |
76 |
evaluated branch (@var{consequent} or @var{alternate}) is returned as |
evaluated branch (@var{consequent} or @var{alternate}) is returned as |
77 |
the value of the @code{if} expression. |
the value of the @code{if} expression. |
123 |
|
|
124 |
All @var{datum}s must be distinct. First, @var{key} is evaluated. The |
All @var{datum}s must be distinct. First, @var{key} is evaluated. The |
125 |
the result of this evaluation is compared against all @var{datum}s using |
the result of this evaluation is compared against all @var{datum}s using |
126 |
@code{eqv?}. When this comparison succeeds, the epression(s) following |
@code{eqv?}. When this comparison succeeds, the expression(s) following |
127 |
the @var{datum} are evaluated from left to right, returning the value of |
the @var{datum} are evaluated from left to right, returning the value of |
128 |
the last expression as the result of the @code{case} expression. |
the last expression as the result of the @code{case} expression. |
129 |
|
|
313 |
This is quite different to other languages which only allow |
This is quite different to other languages which only allow |
314 |
single-value returns. Returning multiple values is different from |
single-value returns. Returning multiple values is different from |
315 |
returning a list (or pair or vector) of values to the caller, because |
returning a list (or pair or vector) of values to the caller, because |
316 |
conceptionally not @emph{one} compound object is returned, but several |
conceptually not @emph{one} compound object is returned, but several |
317 |
distinct values. |
distinct values. |
318 |
|
|
319 |
The primitive procedures for handling multiple values are @code{values} |
The primitive procedures for handling multiple values are @code{values} |
884 |
@itemize @bullet |
@itemize @bullet |
885 |
@item |
@item |
886 |
@code{error-signal}: thrown after receiving an unhandled fatal signal |
@code{error-signal}: thrown after receiving an unhandled fatal signal |
887 |
such as SIGSEV, SIGBUS, SIGFPE etc. The @var{rest} argument in the throw |
such as SIGSEGV, SIGBUS, SIGFPE etc. The @var{rest} argument in the throw |
888 |
contains the coded signal number (at present this is not the same as the |
contains the coded signal number (at present this is not the same as the |
889 |
usual Unix signal number). |
usual Unix signal number). |
890 |
|
|
901 |
accepted domain. |
accepted domain. |
902 |
|
|
903 |
@item |
@item |
904 |
@code{wrong-type-arg}: an argument to a procedure has the wrong thpe. |
@code{wrong-type-arg}: an argument to a procedure has the wrong type. |
905 |
|
|
906 |
@item |
@item |
907 |
@code{wrong-number-of-args}: a procedure was called with the wrong number |
@code{wrong-number-of-args}: a procedure was called with the wrong number |