이 페이지는 리스펙스의 입력 전용 S‑표현식 표면에서 다루는 기본 데이터들을 간단한 예제로 소개합니다. 실행 의미와 표준 라이브러리는 범위 밖이며, 아래 예제는 리나 코드 변환기에서 그대로 시도할 수 있습니다.
바로 열기: www.lenacode.com
원시 타입 (Primitives)
리스펙스의 가장 기초적인 값들입니다.
숫자 (Numbers)
입력형은 정수/유리수/실수입니다.
30
19.99
-100
42/7
불리언 (Booleans)
진리값 리터럴은 #t, #f입니다.
#t
#f
(and #t #t) ; ⇒ #t
(or #f #t) ; ⇒ #t
(not #t) ; ⇒ #f
(if #t "yes" "no") ; ⇒ "yes"
문자 (Characters)
단일 문자를 나타냅니다.
#\a
#\space
#\x03B1 ; 그리스 문자 α
문자열 (Strings)
큰따옴표로 묶인 문자 시퀀스를 나타냅니다.
"Lispex Language"
"Hello, Lispex! 👋"
""
"quote: \" \n tab: \t hex: \x41;" ; 이스케이프 예시
심벌 (Symbols)
이름 자체를 값으로 취급하는 식별자입니다(예약어는 바인딩 금지).
'apple
'Σ
'util.string
컬렉션 타입 (Collection Types)
리스트 (Lists)
순서가 있는 항목의 컬렉션입니다. (list ...) 구문으로 생성합니다. 빈 리스트는 () 입니다. 점리스트(dotted list)도 입력으로 허용됩니다.
(list)
(list 1 2 3 4 5)
(list "hello" "world" "lispex")
(list 1 (list 2 3) 4)
(1 2 3 . 4) ; 점리스트 입력형
자주 쓰는 연산(첫 원소/나머지/길이, append, map/filter 등)은 표준 라이브러리에 있습니다.
벡터 (Vectors)
#(1 2 3)
#("a" "b" "c")
바이트벡터 (Bytevectors)
정수(0–255) 요소로 이루어진 바이트 배열입니다.
#u8(72 101 108 108 111)
R5RS-compat 모드에서는 #u8(...)이 일반 벡터로 자동 대체될 수 있습니다(경고와 함께). 자세한 내용은 하단 참고.
인용 계열 (Quote family)
데이터 리터럴 구성을 위한 리더 축약을 제공합니다.
'x ; ⇒ (quote x)
`(a ,x ,@ys b) ; ⇒ (append (list 'a x) ys (list 'b))
함수 (Functions)
함수는 리스펙스에서 일급입니다. 익명 함수는 lambda, 이름 있는 함수는 define 설탕을 사용합니다.
(define (add a b) (+ a b))
(add 10 20) ; ⇒ 30
(lambda (n) (+ n 1)) ; 익명 함수 값
R5RS-compat 참고
파일 상단에 다음을 선언하면 입력 전개가 R5RS와의 호환을 높이도록 조정됩니다.
;! compat: r5rs
#u8(...)바이트벡터는 벡터로 대체될 수 있습니다.case의 비교 의미는 문서 서술상equal?로 전개되나, R5RS 실행기에서는eqv?임에 유의하세요.- 모듈 헤더
(module ...)는 제거/무시되어 파일 최상위로 평탄화됩니다.