첫 프로그램

프로그램을 실행해 결과를 5에서 10으로 바꾸고 빠진 괄호를 고칩니다. 이어서 로컬 파일로 저장하거나 에디터를 설정합니다.

리스펙스 프로그램을 실행하고 숫자 하나를 바꿔 결과가 5에서 10이 되는 이유를 확인합니다. 설치 없이 브라우저에서 시작하세요.

플레이그라운드에서 실행하기

플레이그라운드를 열고 편집기 내용을 아래 프로그램으로 바꾼 다음 실행을 누르세요.

LISPEX
(define language "Lispex")

(list 'hello language (+ 2 3))

결과

출력
(hello "Lispex" 5)

define은 문자열 "Lispex"에 language라는 이름을 붙입니다. 마지막 식은 list를 호출해 값 세 개를 모읍니다. 심볼 hello, language에 저장한 문자열, 그리고 2와 3을 더한 값입니다. hello 앞의 작은따옴표는 그 이름을 데이터로 유지합니다.

플레이그라운드는 프로그램의 가장 바깥쪽에 쓴 식이 만드는 값을 보여 줍니다. define 자체는 표시할 값을 만들지 않습니다.

3을 8로 바꾸고 다시 실행하세요.

결과

출력
(hello "Lispex" 10)

(+ 2 8)의 결과가 10이므로 마지막 항목이 바뀝니다. 심볼과 문자열은 그대로입니다.

빠진 괄호 고치기

편집기 내용을 아래 예제로 바꾸세요. 첫 줄에 닫는 괄호가 빠져 있습니다.

LISPEX
(define total 10

(+ total 5)

리스펙스가 E100 오류를 표시합니다. 첫 식을 끝까지 읽을 수 없어 프로그램을 실행하지 못한 것입니다. 10 뒤에 )를 넣고 다시 실행하세요.

결과

출력
15

고친 프로그램은 total을 10으로 정의하고 5를 더합니다. 읽기, 축약 문법 변환, 실행, 자원 사용 중 생기는 오류는 오류, 경고, 진단에서 설명합니다.

연습

첫 프로그램으로 돌아가 다음 결과가 나오도록 고쳐 보세요.

(hello "Lispex" 12)
답 하나 보기

마지막 식을 (list 'hello language (* 3 4))로 바꾸면 됩니다. 리스펙스는 안쪽 호출 (* 3 4)를 먼저 계산한 뒤 list에 값 세 개를 전달합니다.

2단계로 이어가기

첫 프로그램의 이름, 문자열, 안쪽 호출, 최종 리스트를 설명할 수 있다면 값, 이름, 프로시저로 이어가세요. 아래에서는 로컬 파일과 에디터 설정을 다룹니다.

로컬 파일로 저장하고 실행하기

(+ 2 3)이 들어 있는 원래 프로그램을 hello.lspx로 저장하세요. Node.js를 설치했다면 npm 패키지로 실행합니다.

SHELL
npx lispex hello.lspx

또는 다운로드에서 운영체제에 맞는 네이티브 프로그램을 설치하고 같은 파일을 실행하세요.

SHELL
lispex hello.lspx

두 명령 모두 다음 결과를 출력하고 종료 코드 0으로 끝납니다.

(hello "Lispex" 5)

두 제품은 Rust로 작성한 기준 구현을 사용합니다. npm은 WASM으로 실행하고 네이티브는 직접 실행합니다. 다운로드 페이지에서 설치 방법과 체크섬 확인 방법을 안내합니다.

괄호가 빠진 예제는 unfinished.lspx로 저장하고 네이티브의 lispex unfinished.lspx로 실행해 보세요. 종료 코드는 1이며 표준 오류에 다음 진단을 씁니다.

E100 unfinished.lspx:1:1 unterminated list (missing `)`)

나중에 컴파일된 파일을 만들려면 검증된 바이트코드 실행하기를 따라 하세요.

구문 강조와 서식 지정 추가하기

공식 확장 studiohaze.lispex는 .lspx 구문을 강조하고 밝은 테마와 어두운 테마에 맞는 파일 아이콘을 추가합니다.

서식을 지정하려면 네이티브 CLI를 별도로 설치해야 합니다. 문서 서식 지정이나 저장 시 서식 지정을 쓰면 공백과 줄 배치를 정리합니다. 확장은 문서를 lispex fmt -에 전달하고 반환된 소스로 바꿉니다. 프로그램이 PATH에 없다면 lispex.format.executable에 경로를 지정하세요.

확장은 구문 강조, 아이콘, 서식 지정을 제공합니다. 값과 진단을 보려면 플레이그라운드나 CLI에서 코드를 실행하세요. 서식 지정에는 네이티브를 사용합니다.