Assignment 6, CSCI 5535
Due Date: December 4th 5:00 p.m. (December 11th 5:00 p.m. for
CATECS)
setjmp/longjmp are "library" routines in C and C++ that perform a
function similar to continuations in Scheme and SML. Read up about
setjmp/longjmp in any C text or look at the man page for setjmp/longjmp on any
UNIX machine. Discuss how setjmp/longjmp differ from SML continuations. Give
an example using callcc in SML that would be very hard to implement using
setjmp/longjmp in C. Also, Steele in his talk "Growing a language" notes that
setjmp/longjmp are not what he would consider as true library functions since
they actually change the meaning of the language. Explain why this is the
case. Limit your answer to 1 typed page.