I/O, 모듈, 능력, 명시적 효과

순수 실행 프로필은 호스트 효과를 일반 평가 밖에 두고 레퍼런스 런타임에서 고정된 출력 동작만 노출합니다.

언제 필요한가요?

이 페이지는 결정적 게스트 평가와 호스트 효과의 경계를 정합니다. 명시적 텍스트 출력에는 내장 출력 프로시저를 쓰고, 파일·네트워크·시간·무작위·외부 행위는 호출 애플리케이션에 두세요.

실행으로 확인하기

LISPEX
(begin (display "answer=") (write 42) (newline) 0)

관측 결과

OUTPUT
answer=42
0

예제 읽기

display는 문자열 내용을 쓰고, write42를 정규 게스트 표기로 쓰며, newline은 줄바꿈 하나를 붙입니다. println은 정확히 display 다음에 그 줄바꿈을 붙인 동작입니다. 마지막 0은 CLI가 표시하는 프로그램 결과이므로 명시적 출력 뒤에 나타납니다.

이 순서로 생각하세요

  • display는 문자열 따옴표를 빼고 문자를 글리프로 쓰며, write는 다시 읽을 수 있는 따옴표·이스케이프·문자 표기를 사용합니다.
  • 네 프로시저는 모두 0개 값을 반환합니다. 명시적 출력과 CLI 자동출력은 한 stdout 순서를 공유하지만 영수증의 완료된 최상위 값은 별도 투영으로 보존합니다.
  • 뒤의 식이 실패해도 그전에 쓴 출력은 남습니다.
  • CLI 파일·표준입력 선택과 소스 라벨은 호출 관심사이며 새 언어 바인딩이 아닙니다.
  • 외부 능력은 호스트 전역 fallback으로 찾지 않고 명시적이며 버전되어야 합니다.

빠르게 고르기

작업리스펙스 안에서 가능?대안
정규 값 출력예: write다시 읽을 수 있는 표기가 중요할 때
사람용 텍스트 출력예: display, newline, println순서가 결정적
파일·네트워크 접근아니요명시적 호출 경계에서 수행
시계·무작위아니요선택한 값을 입력으로 제공
결정에서 외부 행위 실행아니요소비자 코드가 승인하고 실행

흔한 오해

포트, 파일시스템, 네트워크, 시간, 난수, 무제한 호스트 평가는 현재 순수 프로필에 없습니다.

현재 경계

  • 출력 버퍼에는 한도가 있습니다. 이 프로시저 뒤에 주변 포트·파일·네트워크 핸들이 숨어 있지 않습니다.
  • 타깃 언어 출력은 리스펙스 실행 모드가 아닙니다.

다음으로

실행 표면 선택에서 호스트 경계에 맞는 제품을 고르고, 결정 규칙에서 행위 대신 이름 붙은 데이터를 반환하는 법을 보세요.

실행 표면 선택 · 결정 규칙