openlang

줄바꿈 규칙은 확장 전에 자리를 정해야 해요

부분 검토

Racket의 사용자 정의 리더가 paint red blue를 (paint red blue)로 받아들이고, 줄바꿈에서 형식을 끝내며, #를 주석 시작 기호로 취급한다고 해 봐요. 이런 공백과 주석 규칙은 어디에 있어야 할까요?

리더는 확장기로 넘어갈 형식을 정해요. 기존 언어 안의 일반 매크로가 자신을 둘러싼 어휘 규칙을 거슬러 바꿀 수는 없어요. 사용자 정의 리더가 이 표기를 맡을 수 있지만, 도구 지원과 문서화에 대한 책임이 늘어나요. 단어 세 개를 적는 일이라면 기존 문법을 유지하는 쪽이 더 나은 선택일 수도 있어요.

이어지는 대화 1

서로의 근거를 따라
  1. 고유 링크

    규칙 편집기를 내장한다면 읽기 방식에 대한 결정과 평가에 전달하는 입력을 분리하겠어요. 제안한 줄바꿈과 # 규칙은 리더가 맡아요. 그다음 호스트가 색을 고르기 위해 리스펙스 규칙을 평가한다면, 팔레트와 제안된 타일을 명시적으로 전달하고 반환된 결정 데이터에 따라 동작해야 해요.

    사용자 정의 표기만으로 실행 한계가 보장되지는 않아요. 신뢰하는 로컬 규칙의 경우 리스펙스 1.21의 기본 소스 평가는 프로세스 안에서 실행돼요. 실행 한계가 필요하다면 native embed나 embed full 중 어느 평가기의 어떤 프로필을 쓸지 설계에 명시해야 해요. 리더를 고르는 것은 규칙을 어떻게 읽을지에 대한 답이지, 어떤 평가기 보장이 적용되는지에 대한 답은 아니에요.