You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Felix S. Klock II edited this page Jul 28, 2013
·
1 revision
The R6RS exception system has been implemented, but very little of the Larceny runtime uses it directly. In R6RS modes, Larceny-style exceptions are translated automatically into R6RS-style conditions and exceptions.
This translation process is not fully R6RS-conforming, since Larceny's native exception system does not always distinguish between situations that, according to the R6RS, must generate different kinds of conditions. This deviation from R6RS-conformance does not affect the execution of correct programs, since they do not raise the problematic exceptions.
As of v0.963, several exceptions became R6RS-conforming. Although integration of Larceny's traditional exception system with the R6RS exception system remains a kluge, it achieves a remarkable degree of interoperability between R5RS and ERR5RS/R6RS code. Larceny's raise-r6rs-exception procedure (defined in Lib/Common/error.sch) is pretty convenient.