aboutsummaryrefslogtreecommitdiffstats
path: root/docs/design/027-computation-core.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/design/027-computation-core.md')
-rw-r--r--docs/design/027-computation-core.md11
1 files changed, 11 insertions, 0 deletions
diff --git a/docs/design/027-computation-core.md b/docs/design/027-computation-core.md
index f26f2d5..cd8dd44 100644
--- a/docs/design/027-computation-core.md
+++ b/docs/design/027-computation-core.md
@@ -129,6 +129,17 @@
### 2단계: 중첩, 갈래, 재귀, 글자 (JSON)
+크기 때문에 셋으로 나눈다(2026-10-13). 각각 재는 일이 있다.
+- **2a(만듦):** 형식 지정, 바이트 잇기와 자르기, 바이트와 text를 담는 `let`, `while`, `&&`와 `||`의 단락 평가. JSON을 받거나
+ 거절하는 검사기로 잰다. 결과는 [140](../research/140-spec-suite.md)의 2a절이다.
+ - JSONTestSuite에서 틀린 것이 없다.
+ - 줄 수는 파이썬 이하다(80 대 90).
+ - 시간은 C의 116배, 파이썬의 1.2배다.
+ - 쓰다가 드러난 뜻의 틈 하나를 메웠다. `&&`가 양쪽을 다 계산해서 `i < n && d[i]`가 실패했다. 이제 단락 평가이고, 오른쪽이
+ 실패할 수 없을 때는 지금처럼 AND 하나를 낸다. 그래서 TPC-C를 포함한 기존 모듈 35개가 바이트까지 같다.
+- **2b:** 중첩(레코드 안의 레코드와 리스트), 갈래와 `match`, 값으로서의 리스트, 메시지 필드의 아무 값. JSON을 트리로 읽고 묻는다.
+- **2c:** 재귀(부르기와 돌아가기, 함수마다의 검증), 글자로 읽기.
+
- 레코드의 필드와 리스트의 원소가 아무 값을 가진다.
- 갈래와 `match`를 둔다.
- 재귀하는 fn과 `while`을 둔다. Pure에는 부르기와 돌아가기, 함수마다의 검증이 생긴다.