static-error
zodiac format [ arg ] error
dynamic-error
zodiac format [ arg ] error
internal-error
object format [ arg ] error
These procedures are used to report errors. All three procedures behave like the Scheme primitive error in that they do not return control to the invocation point. static-error should be used to report syntactic errors. dynamic-error can be used by code that needs to flag errors at run-time. internal-error is for critical errors; since it is not possible to guarantee that the object in question is in the McMicMac hierarchy (indeed, that may sometimes be the error), object is flexible enough to accept any kind of Scheme object. The second argument to all these procedures is a string of the sort passed to format, and the remaining arguments are meant to satisfy parameters in the format string.
McMicMac users are strongly urged to use internal-error in every suspicious situation, e.g., in the else clause of conds that don't already have one.