aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md20
1 files changed, 20 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..ded9b11
--- /dev/null
+++ b/README.md
@@ -0,0 +1,20 @@
+# aup
+
+aup는 [Pure](/srv/git/pure.git) 런타임을 위한 **언어와 툴체인**이다. Java와 javac가 JVM에
+대해 하는 역할과 같다. aup 소스를 검사해 Pure가 검증한 뒤 실행하는 모듈(`.pmod`)로 만든다.
+
+| 층 | 역할 |
+|---|---|
+| Pure | 런타임. 모듈 형식과 검증기·실행기, 실행·메모리·영속 상태·통신 |
+| **aup** | 언어와 툴체인. 소스 → 진단 → Pure 모듈 |
+| [Vega](/srv/git/vega.git) | aup와 Pure 위의 인터페이스 구현자(TUI·CLI·GUI·NUI) |
+
+상태: v0 설계 중. [언어 v0](docs/design/001-language-v0.md).
+
+## 원칙
+
+- **앱은 상태·입력·반응·보기를 선언하고, 저장·트랜잭션·화면 모델은 런타임이 소유한다.**
+- 컴파일 결과는 Pure가 로드 전에 검증할 수 있는 형식이어야 한다. 소스나 AST를 런타임에 두지 않는다.
+- 툴체인은 C17로 작성하고 외부 의존성을 두지 않는다. 검증 기기는 로컬 Raspberry Pi 5다.
+- 기존 Pure `.pure` 두 방언(워크벤치 scalar, 문서 연결)을 aup 하나로 대체한다.
+ 대체의 근거는 기존 실행기와의 비트 단위 일치다.