diff options
| author | eunhhu <[email protected]> | 2026-09-25 15:50:37 +0100 |
|---|---|---|
| committer | eunhhu <[email protected]> | 2026-09-25 15:50:37 +0100 |
| commit | fd16040840e3f1392da9b4ed4175c6f4fc24a803 (patch) | |
| tree | 8315e95242e9367052d9a9221d906c155942495e /docs/design | |
| parent | 2685f20d09b384309de294947099ce2ae29d13b8 (diff) | |
| download | aup-fd16040840e3f1392da9b4ed4175c6f4fc24a803.tar.gz aup-fd16040840e3f1392da9b4ed4175c6f4fc24a803.zip | |
Check declared state across restarts
The list app and the text editor run on a tree store through pure-run
--store, restarting at random points, and must keep matching their
reference models. The language notes state that a declared state is a
stored state when the host gives a store.
Diffstat (limited to 'docs/design')
| -rw-r--r-- | docs/design/001-language-v0.md | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/docs/design/001-language-v0.md b/docs/design/001-language-v0.md index f07102b..cefb229 100644 --- a/docs/design/001-language-v0.md +++ b/docs/design/001-language-v0.md @@ -66,6 +66,10 @@ on frame { # 1/60초 진행. 핸들러 안에서 dt를 쓸 - 한도: 상태 32, 입력 32, 보기 64, 핸들러 64, 명령 512, 스택 64, 소스 32 KiB. - 모듈을 교체하면 같은 이름의 상태 값은 유지하고, 새 상태는 초기값을 쓰고, 없어진 상태는 버린다. 교체에 실패하면 이전 모듈과 상태가 그대로다. +- **선언한 상태는 영속 상태다.** 호스트가 저장소를 주면(`pure-run 앱.pmod --store 경로`) 모든 상태(수·text·커서· + 리스트·인덱스)가 저장소에 살고, 앱은 다음 실행에서 그대로 이어진다. 저장·불러오기·직렬화 코드가 없다. + 키·text·메시지 이벤트는 바꾼 상태를 한 커밋으로 기록하고(메시지의 문서와 함께), frame의 변경은 다음 이벤트와 + 함께 기록된다. 레코드가 바뀐 리스트는 필드 이름으로 옮겨진다([Pure 008](/srv/git/pure.git) 상태 영속). 워크벤치와 다른 점은 셋이다. 입력 종류를 `key`로 적고, 도형 대신 `view`로 값을 내보내고, `else`가 있다. 도형과 인터페이스 표현은 Vega가 맡는다. 포인터 입력, 값 입력, 레코드·규칙은 v0a에 없다. |
