언어를 만드는 다섯 선택
- 결정성은 언어의 정체성입니다. 평가 순서, 출력 표기, 진단, 선언한 자원 결과는 특정 기계의 우연이 아니라 계약의 일부입니다.
- 지원하지 않는 동작은 크게 실패합니다. 기능이 없을 때 호스트 전역 이름을 찾거나 플랫폼 라이브러리 동작을 빌리지 않습니다.
- 데이터와 효과를 나눕니다. 규칙은 값을 반환합니다. 파일, 네트워크, 시간, 무작위, 외부 행위는 명시적 호출자가 맡습니다.
- 표현이 권한을 만들지 않습니다. 소스, 정확 이미지, bundle, 영수증, 보고서는 서로 다른 질문에 답하며 스스로 허가로 승격되지 않습니다.
- 근거는 분모를 밝힙니다. 코퍼스나 백엔드 비교는 기록한 실행기, 입력, 관측, 한도까지만 뒷받침합니다.
의도적인 맞교환
| 리스펙스의 선택 | 얻는 것 | 포기하는 것 |
|---|---|---|
| 고정 의미 프로필 하나 | 재현 가능한 결과와 검토 가능한 실패 | 명시되지 않은 호스트 동작 |
| 작은 값·프로시저 집합 | 한눈에 지도화하고 시험할 수 있는 언어 | 폭넓은 Scheme 호환성 |
| 명시적 호스트 경계 | 이식하고 감사하기 쉬운 규칙 | 편리하지만 암묵적인 I/O와 전역 이름 |
| 정확 소스 동일성 | 바이트 단위 검토와 전달 | 자동 공백·인코딩 정규화 |
| 제한된 영수증과 바우치 근거 | 실패 지점이 분명한 점검 가능한 주장 | 보편 증명이나 전달 가능한 승인 |
실용적으로 읽는 질문
강력해 보이는 기능을 만나면 “어떤 정확한 바이트와 실행기를 설명하는가?”, “호출 애플리케이션이 여전히 책임질 것은 무엇인가?”를 물으세요. 이 질문은 이미지가 정확 복원을 증명해도 출처는 증명하지 않는 이유와, 바우치 gate가 로컬의 일치 결정을 보고해도 결제나 배포를 승인하지 않는 이유를 설명합니다.
현재 경계
리스펙스는 리스프 모양이지만 모든 Scheme 프로그램을 받아들이려는 언어가 아닙니다. 범위 제외는 호환성 결정입니다. 미래 백엔드는 프로필을 구현할 뿐 우연히 언어를 다시 정의하지 않습니다.
다음으로
포함된 정확한 표면은 현재 범위에서, 이 선택에 종속된 앞으로의 방향은 로드맵에서 확인하세요.