핵심 형식

평가기 코어는 인용, 변수 참조, if, 시퀀스, 람다, 적용, 대입, 정의, 어휘 바인딩, 고정 제어 노드로 구성됩니다.

한눈에 보기

LISPEX
((lambda (x) (if #t x 0)) 42)

결과

OUTPUT
42

현재 보장

  • if에는 else 가지가 필수이며 begin과 프로시저 본문은 왼쪽부터 순서를 보존합니다.
  • lambda는 고정·점 형식 매개변수를 지원하고 set!은 기존 셀을 변경하며 define은 최상위 셀을 만들거나 갱신합니다.
  • quote는 불변 리터럴 데이터를 반환하며 런타임은 인용 요소를 평가하지 않습니다.

형식 계약

형식인자 수 / 평가결과 또는 오류
quotedatum 1개; 요소 평가 없음불변 datum
if테스트, 참 가지, 거짓 가지; 테스트 먼저선택 가지 패킷; 테스트가 한 값이 아니면 E320
lambda매개변수와 본문 1..N개클로저; 적용 인자 수가 다르면 E302
set!이름과 단일 값 RHS0개 값; 미바인딩이면 E303
let / letrec바인딩 목록과 본문 1..N개마지막 본문 패킷; 미초기화 letrec 읽기는 E321

경계

  • 표면 편의 형식은 파생 형식 레퍼런스에 속합니다.