WITH-CONDITION-RESTARTS — 리스타트를 조건과 연결하는 매크로

WITH-CONDITION-RESTARTS — 리스타트를 조건과 연결하는 매크로

조건(condition)이 신호될 때 그 조건과 함께 쓸 수 있는 리스타트들을 지정하는 매크로예요. 동적 환경 안에서 특정 리스타트 목록을 특정 조건에 연결해요.

출처: CLHS: Macro WITH-CONDITION-RESTARTS

이 문서는 조건 시스템 관련 매크로입니다. restart-case가 내부적으로 이 매크로를 써서 구현될 만큼 저수준이에요.

시그니처

with-condition-restarts condition-form restarts-form form* => results*

본문

인자와 값 (Arguments and Values)

  • condition-form — 폼; 평가되어 조건(condition)을 만들어요.
  • conditioncondition-form의 평가로 생긴 조건 객체.
  • restart-form — 폼; 평가되어 restart-list를 만들어요.
  • restart-listrestart-form의 평가로 생긴 리스타트 객체들의 목록.
  • forms — 암묵적 progn; 평가돼요.
  • resultsforms가 돌려준 값.

설명 (Description)

먼저 condition-formrestarts-form을 정상적인 왼쪽에서 오른쪽 순서로 평가해요. 이 평가들이 낸 일차 값(primary value)을 각각 conditionrestart-list라고 불러요.

그다음 restart-list의 각 리스타트가 condition과 연결된 동적 환경에서 forms를 평가해요. (Section 9.1.4.2.4, Associating a Restart with a Condition 참고.)

예제 (Examples)

없음.

부수 효과 (Side Effects)

없음.

특이 상황 (Exceptional Situations)

없음.

참고 (Notes)

보통 이 매크로는 코드에서 명시적으로 잘 쓰이지 않아요. restart-case가 흔한 경우들을 문법적으로 더 간결하게 처리해 주거든요.

더 알아보기

  • restart-case — 리스타트를 선언형으로 설치하는 매크로