리스펙스는 나중에 다시 읽기 쉬운 결정을 적기 위한 작은 리스프입니다. 규칙은 평범한 텍스트이고, 문서에 적힌 한계 안에서는 같은 입력이 같은 관측 결과를 냅니다. 답을 애플리케이션 안에 감추지 않고 데이터 모양으로 남길 수도 있습니다.
먼저 모양을 봅시다
리스펙스 프로그램은 값과 괄호로 묶은 폼으로 이루어집니다. 평가되는 폼에서는 맨 앞의 이름이 할 일을 나타내고, 나머지 식이 입력을 제공합니다.
(+ 2 3)결과
5겹친 식은 안쪽부터 읽습니다. 아래에서는 >=가 질문에 답하고, if가 두 데이터
중 하나를 고릅니다.
(define total 62)
(if (>= total 50)
'(decision free-shipping)
'(decision standard-shipping))결과
(decision free-shipping)'(decision free-shipping) 앞의 작은따옴표는 “이 리스트를 실행하지 말고 데이터로
두라”는 뜻입니다. 따옴표가 없다면 리스펙스는 decision이라는 프로시저를
호출하려 합니다. 코드와 데이터가 같은 모양을 가질 수 있다는 특징을 과정에서
천천히 익히게 됩니다.
어떤 일에 잘 맞을까요?
자격 확인, 환불 기간, 가격 경계, 경로 선택, 반복 가능한 데이터 변환처럼 입력과 답이 분명한 규칙에 잘 맞습니다. 레퍼런스 런타임은 결정적인 평가 순서, 명시적인 자원 제한, 가능한 경우의 정확한 산술, 안정적인 진단을 사용합니다. 그래서 작은 규칙을 다시 실행하고 비교하기 쉽습니다.
리스펙스는 범용 운영체제 스크립트 환경을 목표로 하지 않습니다. 네트워크 호출, 시계, 난수, 패키지 가져오기를 결정 안에 몰래 넣지 않습니다. 애플리케이션이 입력을 전달하고, 반환값으로 무엇을 할지 결정합니다.
원하는 입구를 고르세요
| 하고 싶은 일 | 갈 곳 |
|---|---|
| 네 단계로 언어 배우기 | 학습 경로 |
| 설치 없이 바로 실행하기 | 플레이그라운드 |
| 일상 문법을 한 페이지에서 훑기 | 문법 한눈에 보기 |
| 로컬 런타임 설치하기 | 첫 프로그램 |
| 검증된 네이티브 아티팩트 만들고 실행하기 | 검증된 바이트코드 실행하기 |
| 정확한 폼이나 프로시저 찾기 | 구문 레퍼런스 또는 프로시저 색인 |
정확한 리스펙스 이미지, 검증된 네이티브 바이트코드, 리스펙스 바우치도 정식 기능이지만 언어를 배우기 위한 선행 조건은 아닙니다. 이미지는 정확한 소스를 옮기고, 바이트코드는 명시적인 로컬 VM 경로를 제공하며, 바우치는 규칙을 인증하고 소비자가 고정한 요청을 현재 실행으로 확인한 뒤 로컬 결정을 통과시킵니다. 먼저 작은 언어를 익히면 이 기능들도 훨씬 쉽게 이해할 수 있습니다.
문서가 지키는 약속
이 문서는 제품이 하는 일과 보장하지 않는 일을 구분합니다. Rust가 레퍼런스 런타임입니다. LIL과 LIT는 경계가 정해진 검증 백엔드이며, 조용히 Rust로 대체되거나 모든 구현이 항상 같다는 증명으로 취급되지 않습니다. 입문 과정에서는 이 내용을 몰라도 됩니다. 배포나 교차 확인이 필요할 때 런타임과 백엔드로 돌아오세요.