핵심 형식

평가기 코어는 인용, 변수 참조, `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

흔한 오해

겉으로 편하게 쓰는 형식은 이 페이지가 아니라 파생 형식 레퍼런스에서 다룹니다.

다음으로

코드를 작성할 때 이 페이지를 곁에 두세요. 차근차근 짚어 주는 설명이 필요하면 문법 지도나 관련 매뉴얼로 돌아가면 됩니다.

문법 한눈에 보기 · 학습 경로