[syntax] eval-when situations form1 form2 ...

ChezScheme, Chicken: situations may be a list of following symbols: compile, load, and eval. Compilation of form1 ... is controlled by situations as the following table, which is from Chicken's manual:

in compiled code in interpreted code
eval ignored evaluated
compile evaluated at compile time ignored
load compiled as normal ignored


There was a discussion in guile-devel to incorprate eval-when into it (possibly CLtL2 style), but the current Guile manual doesn't have an entry for it.