일회성 연속과 dynamic-wind

현재 call/cc는 명시적 평가기 신호로 구현한 위쪽 방향 탈출 전용 비재진입 일회성 연속입니다.

한눈에 보기

LISPEX
(call/cc (lambda (escape) (escape 'done) 'unreachable))

결과

OUTPUT
done

현재 보장

  • 첫 호출은 전이 전에 연속을 원자적으로 소비하며 이후 모든 호출은 E340입니다.
  • dynamic-windbefore, thunk, after 순서이며 unwind는 대기 중인 after를 안쪽부터 실행합니다.
  • after thunk의 새 오류·탈출은 진행 중이던 신호를 대체합니다.

경계

  • 다회 연속 재사용과 동적 컨텍스트 재진입은 보류되어 있습니다.
  • 호스트 예외와 호스트 연속은 게스트 전이를 구현하지 않습니다.