
From glancing, SBCL's and CMUCL's swank backends do the latter. Most other backends use an implementation dependent :LOAD keyword argument to COMPILE-FILE which I haven't checked what
Should C-c C-k try to load a resulting fasls file ALWAYS? Should it only do so if COMPILE-FILE did not return T as failurep? their semantics are on this matter. I wouldn't be surprised if the differ. The thing is that I sometimes want the first behaviour (early stage of development), sometimes the latter (precious state in the image). If C-c C-k always loaded, you could get the other behaviour by using C-c M-k instead (compile only) and C-c C-l afterwards if compilation didn't fail. If C-c C-k regarded failurep, you could force loading afterwards by C-c C-l. So both behaviours are available. I just pledge for consistency across backends. -T.