리스펙스를 이해하는 가장 빠른 방법은 프로그램을 고치고 값이 바뀌는 모습을 보는 것입니다. 먼저 브라우저에서 시작하세요. 파일을 보관하고 싶을 때만 로컬 런타임을 설치하면 됩니다.
플레이그라운드에서 실행하기
플레이그라운드를 열고 편집기 내용을 아래 프로그램으로 바꾼 다음 실행을 누르세요.
(define language "Lispex")
(list 'hello language (+ 2 3))결과
(hello "Lispex" 5)첫 폼은 "Lispex"라는 문자열에 language라는 이름을 붙입니다. 마지막 폼은
인용한 심볼, 문자열, (+ 2 3)의 결과를 한 리스트로 만듭니다.
define은 출력할 값을 만들지 않으므로 마지막 리스트만 보입니다.
3을 8로 바꾸고 다시 실행하세요. 마지막 원소가 10이 되면 브라우저 실행을
마친 것입니다.
로컬 파일로 보관하기
같은 소스를 hello.lspx로 저장합니다. 두 로컬 제품 가운데 하나를 고르세요.
npx lispex hello.lspx또는 운영체제에 맞는 네이티브 바이너리를 받은 뒤 실행합니다.
lispex hello.lspx둘 다 Rust 레퍼런스 평가기를 사용합니다. npm 패키지는 WebAssembly로 그 코어를 싣고, 네이티브 바이너리는 직접 실행합니다. 플랫폼별 설치와 체크섬 확인은 다운로드에 있습니다.
첫 프로그램에는 여기까지면 충분합니다. 나중에 정규 컴파일 아티팩트가 필요한 네이티브 사용자는 검증된 바이트코드 실행하기로 이어가세요. 입문 과정은 계속 소스 중심입니다.
에디터 색상, 파일 아이콘, 포매팅 추가하기
공식 확장은 .lspx 파일을 인식하고, 리스펙스 구문을 강조하며, 밝고 어두운
테마용 파일 아이콘을 제공하고, 설치된 네이티브 CLI로 문서를 포매팅합니다.
정확한 식별자는 studiohaze.lispex입니다. 네이티브 바이너리를 설치한 뒤
문서 서식 지정이나 저장 시 포매팅을 사용하세요. 확장은 lispex fmt -를
실행합니다. 바이너리가 PATH에 없다면 lispex.format.executable에 경로를
지정하세요. 런타임이나 언어 서버를 내장하지 않으며 자동 완성, 마우스 오버
타입, 에디터 진단은 제공하지 않습니다. npm, 공개 WASM, 플레이그라운드에는
포매터가 없습니다.
진단 하나 읽기
첫 define의 닫는 괄호를 지워 봅시다.
(define total 10
(+ total 5)명령은 실패 상태로 끝나고 E100 리더 진단을 냅니다. 중요한 것은 단계입니다.
리스펙스가 소스 폼 하나를 끝까지 읽지 못했으므로 어떤 식도 실행되지 않았습니다.
런타임 문제를 찾기 전에 10 뒤의 )를 복구하세요.
진단은 표준 오류에 기록되고 실패한 실행은 0이 아닌 종료 상태를 반환합니다. 나중에 오류, 경고, 진단에서 리더, 정규화, 런타임, 자원 진단을 구분합니다.
연습
성공한 프로그램을 바꿔 다음 값을 출력하세요.
(hello "Lispex" 12)답 하나 보기
마지막 식을 (list 'hello language (* 3 4))로 바꾸면 됩니다. 안쪽 호출
(* 3 4)가 먼저 계산되고 list가 세 값을 받습니다.
2단계로 갈 준비가 됐나요?
첫 프로그램에서 이름, 문자열, 안쪽 호출, 최종 리스트를 각각 가리킬 수 있으면 충분합니다. 다음은 값, 이름, 프로시저입니다.