aboutsummaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/design/028-bytes-state.md2
-rw-r--r--docs/research/140-spec-suite.md2
2 files changed, 4 insertions, 0 deletions
diff --git a/docs/design/028-bytes-state.md b/docs/design/028-bytes-state.md
index 7e760fa..216df58 100644
--- a/docs/design/028-bytes-state.md
+++ b/docs/design/028-bytes-state.md
@@ -68,6 +68,8 @@ TEXT_COMPARE의 인자 비트로 이미 만들었다(008).
- **리스트 값의 나눔.** let의 리스트를 값으로 넘기면 Pure의 LIST_VALUE가 항목을 하나씩 복사한다. 복사 없이 나누려면 이벤트
도중의 리스트가 쓰기 전 복사(copy-on-write)를 해야 한다. 지금의 `pure_list_share`는 이벤트 사이의, 다른 스레드의 읽는 쪽을 위한
것이다. 명세가 그 비용에 닿으면 정한다.
+ - 잰 것(2026-10-19): UAX #14의 `Text` 레코드는 줄마다 let의 리스트 아홉 개를 복사해 짓는다. 그 복사와 리스트 짓기가 코드 포인트당
+ 명령 1,774개 가운데 260개다(140). inflate의 `code()`에 이은 두 번째 수다.
- **한 번에 비우기.** 블록 안의 let 리스트와 `xs = [...]`는 항목을 하나씩 지운다. 명령 하나로 비울지는 그 비용이 보이면 정한다.
## 착수 기준
diff --git a/docs/research/140-spec-suite.md b/docs/research/140-spec-suite.md
index 1e42a4c..4a8d9f8 100644
--- a/docs/research/140-spec-suite.md
+++ b/docs/research/140-spec-suite.md
@@ -676,6 +676,8 @@
- 앞의 둘은 이제 핵에 들일 자격이 있다. 바이트 하나인 상태(저장, 교체, 보기, HTTP의 GET이 그것을 어떻게 다루는가)와 바이트의 비교
(TEXT_COMPARE의 인자로 할지, 새 명령으로 할지)는 설계 문서에서 정한다. 아직 시작하지 않았다.
- aup의 셋은 컴파일러의 일이다. Pure의 함수 서명은 이미 리스트를 받는다.
+- 키 있는 리스트의 floor 찾기(키가 x 이하인 마지막 항목): UAX #14가 범위를 위치로 읽는 이분 탐색으로 찾는다(코드 포인트당 명령
+ 360개). 그것을 원한 명세는 아직 하나다.
**결정점 뒤에 만든 것(2026-10-19).**
- 바이트의 `==`: TEXT_COMPARE의 인자 비트 `PURE_COMPARE_BYTES`(008). aup는 바이트끼리 견주고, 바이트를 만나는 문자열은 바이트다.