diff options
| author | eunhhu <[email protected]> | 2026-10-04 13:58:19 +0100 |
|---|---|---|
| committer | eunhhu <[email protected]> | 2026-10-04 13:58:19 +0100 |
| commit | 9e587a06d88b01d21ccc7a1cb25dc156b40efcab (patch) | |
| tree | 7f65478fa708c5908dc13e36aab524b170296358 /docs/design/018-lifetimes-and-computation.md | |
| parent | 09a34871f97c9917735b4dfd40cbad22ccf9b001 (diff) | |
| download | pure-9e587a06d88b01d21ccc7a1cb25dc156b40efcab.tar.gz pure-9e587a06d88b01d21ccc7a1cb25dc156b40efcab.zip | |
Count in loops that nest, break, and keep an event's own lists, every event bounded (018 stage 2)
Diffstat (limited to 'docs/design/018-lifetimes-and-computation.md')
| -rw-r--r-- | docs/design/018-lifetimes-and-computation.md | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/docs/design/018-lifetimes-and-computation.md b/docs/design/018-lifetimes-and-computation.md index e25973c..1aad50f 100644 --- a/docs/design/018-lifetimes-and-computation.md +++ b/docs/design/018-lifetimes-and-computation.md @@ -117,10 +117,13 @@ view distance(from: u32, to: u32) = { # 보기의 본문(3단계): 스냅숏� "없음"은 없다. - LOOP는 **도는 대로** 센다(반복마다 블록 길이). `break`로 일찍 끝나는 반복이 쓰지 않을 몫으로 실패하지 않게 하려는 것이다. EACH와 FOLD는 지금처럼 시작할 때 항목 수 × 블록 길이를 센다. 곱은 넘치지 않게 센다(넘치면 예산을 넘은 것이다). -- **메모리는 자라는 대로 센다.** 이벤트가 리스트(저장되든 아니든, 이벤트의 리스트도)와 text에 더하는 바이트를 더할 때마다 - 센다. 예산이 있으면 이벤트가 시작할 때 가진 것 + 더한 것이 예산을 넘는 순간 `memory`로 실패한다(지금은 이벤트가 끝난 뒤에 - 본다). 예산이 없으면 한 이벤트가 더하는 것이 2^28 바이트(256 MiB)를 넘는 순간 실패한다. 그래서 고장 난 반복이 기기의 - 메모리를 다 쓰기 전에 멈춘다. +- **메모리는 자라는 대로 센다.** 이벤트가 리스트(저장되든 아니든, 이벤트의 리스트도), text, 보낼 것(outbox)에 더하는 바이트를 + 더할 때마다 센다(줄인 것은 뺀다). 두 가지로 센다. + - 저장 형식으로 더한 것이 메모리 예산을 넘는 순간 `memory`로 실패한다(예산이 있을 때). 이벤트가 끝난 뒤 상태가 예산을 넘는지는 + 지금처럼 따로 본다(답이 outbox의 보낸 것을 내보내는 것처럼 이벤트 안에서 잠시 넘었다가 돌아오는 일은 그대로 된다). + - 그것을 위해 가진 것 모두(리스트의 저장 기록과 되돌리기 기록까지)가 2^28 바이트(256 MiB, 예산이 더 크면 예산)를 넘는 순간 + `memory`로 실패한다. 예산이 없어도 그렇다. + 그래서 고장 난 반복은 기기의 메모리를 다 쓰기 전에 멈춘다. 리스트 하나의 항목 수 한도(2^24)가 먼저 올 수도 있다(`limit`). - 보기의 평가(3단계의 본문 포함)도 같은 실행량 예산과 같은 2^28 바이트(이벤트의 리스트)를 쓴다. ### 보기의 본문 (3단계) |
