aboutsummaryrefslogtreecommitdiffstats
path: root/docs/design/018-lifetimes-and-computation.md
diff options
context:
space:
mode:
authoreunhhu <[email protected]>2026-10-04 13:30:31 +0100
committereunhhu <[email protected]>2026-10-04 13:30:31 +0100
commitd806c3197500565d20787161d1e1e94ce39df7a1 (patch)
tree26664778482aa7051d89d07c01f79e4527560a8d /docs/design/018-lifetimes-and-computation.md
parentf668d54e0c84bdb6240ba1133ee167385a7dc440 (diff)
downloadpure-d806c3197500565d20787161d1e1e94ce39df7a1.tar.gz
pure-d806c3197500565d20787161d1e1e94ce39df7a1.zip
Keep transient states the app's while it runs, never stored (018 stage 1)
Diffstat (limited to 'docs/design/018-lifetimes-and-computation.md')
-rw-r--r--docs/design/018-lifetimes-and-computation.md7
1 files changed, 5 insertions, 2 deletions
diff --git a/docs/design/018-lifetimes-and-computation.md b/docs/design/018-lifetimes-and-computation.md
index 901ab08..fab6d96 100644
--- a/docs/design/018-lifetimes-and-computation.md
+++ b/docs/design/018-lifetimes-and-computation.md
@@ -1,6 +1,6 @@
# 018 — 상태의 수명과 메모리 안의 계산
-작성일: 2026-10-04. 상태: 설계와 착수 기준(구현 전).
+작성일: 2026-10-04. 상태: 설계와 착수 기준. 1단계(transient) 구현, 검사로 고정했다.
[외부 리뷰 005](../outside-feedback/feedback-005.md)의 (1) "순수 인메모리 연산 및 알고리즘의 단절"과, 상태의 영속성과 상태성을 aup
안에서 정할 수단이 필요하다는 요청에서 시작한다.
@@ -81,7 +81,10 @@ view distance(from: u32, to: u32) = { # 보기의 본문(3단계): 스냅숏�
(위의 `picked`).
- 모듈을 바꿀 때 저장되던 상태가 transient가 되면 그 값은 메모리에서 이어지고, 저장소의 옛 값은 모듈이 버린 상태의 값처럼
남는다(지금도 버린 상태는 지우지 않는다). 다시 저장되는 상태가 되면 그때 시작하는 앱은 저장소의 그 값을 받는다(버렸던
- 상태를 다시 들인 것과 같다). transient였던 것이 저장되는 상태가 되면 바꾸는 그 저장에서 지금의 값이 쓰인다.
+ 상태를 다시 들인 것과 같다). transient였던 것이 저장되는 상태가 되면 리스트는 바꿀 때 이미지를 쓰고, 수와 text는 바꾼 뒤의
+ 첫 저장에서 쓰인다.
+- 스냅숏(다른 스레드의 읽기)은 저장되는 text를 저장소의 매핑으로 나누지만 transient text는 저장소에 없으니 스냅숏마다 복사한다.
+ 큰 text를 transient로 두면 그만큼 든다.
- **`let 이름: list of 레코드 [by 필드]`** 는 이벤트의 리스트다. 핸들러(3단계부터는 보기 본문)의 맨 바깥 블록에만 둔다. 저장되는
리스트가 하는 것을 모두 한다(`add`, `append`, `remove`, `[키]`, `has`, `count`, `first`, `last`, `+ n`, 집계, 걷기). 이벤트가
시작할 때 비어 있고, 끝나면(성공이든 실패든) 비워진다. 되돌리기를 기록하지 않는다.