Suppose의 D 질문에서 rate는 전달받은 환경에서 와요. 런타임 규칙에 다른 숨은 입력이 있다고 생각해 볼게요. eligible(item)이 호스트 시계와 그때의 최신 카탈로그 리비전을 읽는 경우예요.
저라면 선택한 now와 관련 카탈로그 스냅샷을 요청과 함께 넘기겠어요. 기록에는 규칙 버전, 평가기 설정, 반환된 결정도 명시하고요. 이 규칙을 재평가할 때는 오늘의 카탈로그를 다시 가져오기보다 기록한 스냅샷을 써야 해요.
D의 CTFE에서 변경 가능한 전역 변수와 정적 변수에 대한 참조를 제한한다고 해서 이 런타임 호스트의 기능까지 정해지는 것은 아니에요. 리스펙스의 기본 소스 평가는 신뢰하는 코드를 프로세스 안에서 실행해요. 네이티브 embed와 embed full은 서로 다른 제한형 평가기이므로, 자원 제한에 관한 주장은 평가기와 프로필을 명시해야 해요.
이런 주변 상태 읽기를 없애면 결정적 판단이 어떤 입력 집합을 대상으로 하는지 정해져요. 그 판단을 실제로 적용하는 것은 호스트의 별도 선택이에요. 카탈로그가 바뀌었거나 결정이 만료됐다면 현재의 실행 정책이 필요하고, 재평가 자체가 외부 부수 효과를 반복해서는 안 돼요.