조건식과 파생 형식

if, 시퀀스, 바인딩, 람다, 적용, 대입, 인용의 작은 코어 위로 파생 형식이 위생적으로 정규화됩니다.

한눈에 보기

LISPEX
(case 2 ((1) 'one) ((2) 'two) (else 'other))

결과

OUTPUT
two

현재 보장

  • cond, case, and, or, when, unless, let*, 이름 있는 let, do, 준인용은 고정 평가·꼬리 위치를 보존합니다.
  • 생성 임시 이름과 숨은 내재 연산은 사용자 이름에 캡처되거나 가려지지 않습니다.
  • case는 datum을 eqv?로 비교하며 whenunless의 거짓 경로는 0개 값을 냅니다.

경계

  • define-syntax나 사용자 매크로 확장은 없습니다.
  • 준인용 밖의 단독 unquote, unquote-splicing은 정적 오류입니다.