diff options
Diffstat (limited to 'docs/design/029-past-one-node.md')
| -rw-r--r-- | docs/design/029-past-one-node.md | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/docs/design/029-past-one-node.md b/docs/design/029-past-one-node.md index 0fe0f76..deb8b3e 100644 --- a/docs/design/029-past-one-node.md +++ b/docs/design/029-past-one-node.md @@ -49,7 +49,9 @@ **해법의 꼴.** 1. **로드 때 fn을 펼친다(코어).** 재귀가 아닌 fn을 부르는 자리에 그 몸을 펼친 블록을 로드 때 만든다. 검증한 모듈의 뜻은 그대로이고, 계층은 펼친 블록을 받는다. aup에서 했을 때(140의 c3)는 이른 `return`과 "값 위의 고리"에 막혔다. 코어는 스택의 높이와 합류를 - 이미 검증하므로, 펼침을 그 아래에서 할 수 있다. 재귀 fn은 실행기에 남되, 부름 하나의 값(프레임)을 줄인다. + 이미 검증하므로 그 아래에서 해 볼 까닭은 있다. 그러나 **될지는 아직 모른다.** 고리 안의 이른 `return`은 고리 밖으로의 갈래가 + 되고, 묶음 계층이 그것을 받는지 재지 않았다. 그것을 가리는 것이 ③의 첫 일이다. 재귀 fn은 실행기에 남되, 부름 하나의 + 값(프레임)을 줄인다. 2. **바이트를 열로 본다.** 가변 길이 바이트의 고리(바이트마다 `d[i]`)를 묶음이 읽는 열의 꼴로 다룬다. 바이트 값은 이미 자리로 읽히는 연속 구간이다. 3. **명령 수를 줄인다(aup).** 레코드에 담긴 리스트를 읽을 때마다 레지스터에 다시 묶는 일, 레코드를 받는 작은 fn의 부름 같은 것을 |
