|
|
@@ -0,0 +1,59 @@
|
|
|
+# Session 2026-10-24 — dialect library folders
|
|
|
+
|
|
|
+The aggregate `stdlib/` has been retired. Standard libraries now live
|
|
|
+in dialect folders, with the runtime shared.
|
|
|
+
|
|
|
+**Branch:** `master`. **Feature state:** `v3-library-folders`.
|
|
|
+**Gates at the end:** suite **301/301**, fixpoint **OK
|
|
|
+(3,573,487 bytes)**, corpus **519/612 compile-OK, 0 crashes**.
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## Layout
|
|
|
+
|
|
|
+```text
|
|
|
+runtime/syslib/ shared runtime: SysShim, FileIO, SysExceptions, Utf8
|
|
|
+lib/common/ CharClass, Math, Storage, Strings, SysIO
|
|
|
+lib/pim/ FpuIO, InOut, NumberIO, RealInOut, StrIO
|
|
|
+lib/iso/ ISO 10514-1 modules (IOChan, TextIO, Files,
|
|
|
+ Conversions, SysClock, TERMINATION, EXCEPTIONS, ...)
|
|
|
+lib/gm2/ optional gm2 compatibility (DynamicStrings, StdIO,
|
|
|
+ SysStorage, TimeString, wrapc/wrapclock/wraptime)
|
|
|
+```
|
|
|
+
|
|
|
+`lib/common` is shared, not a dialect. `lib/gm2` is optional
|
|
|
+compatibility used by corpus/tests, not a third standard dialect.
|
|
|
+Never mix `lib/pim` and `lib/iso` in one session.
|
|
|
+
|
|
|
+## Build/test selection
|
|
|
+
|
|
|
+- `M2make --dialect pim|iso|gm2` adds `lib/<dialect>`, `lib/common`,
|
|
|
+ `lib/gm2` and `runtime/syslib` to module resolution.
|
|
|
+- `tools/v3-corpus/corpus.sh` chooses ISO for paths containing `/iso/`,
|
|
|
+ otherwise PIM, plus common/gm2/runtime. `V3_LIBS` remains an explicit
|
|
|
+ override.
|
|
|
+- `compiler/run_tests.sh` uses explicit `lib/...` paths per session.
|
|
|
+- `bootstrap/fixpoint.sh` uses `-I lib/common` and `runtime/syslib` for
|
|
|
+ the compiler’s `Strings`/`Storage`/runtime imports.
|
|
|
+
|
|
|
+## Verification
|
|
|
+
|
|
|
+- Suite **301/301**.
|
|
|
+- Fixpoint **OK (3,573,487 bytes)**, including `lib/common` paths.
|
|
|
+- Corpus **519/612**, 0 crashes; PIM and ISO corpus paths resolve
|
|
|
+ their respective dialect folders.
|
|
|
+- `M2make --dialect iso` dry-run resolves `SysIO` from `lib/common`.
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## Commits and tags
|
|
|
+
|
|
|
+| commit | tag | work |
|
|
|
+| --- | --- | --- |
|
|
|
+| `5ae8152` | `v3-lfloat` | `LFLOAT` builtin |
|
|
|
+| `895ee2e` | `v3-corpus-triage-2026-10-24` | corpus triage |
|
|
|
+| `f904307` | `v3-library-folders` | dialect library folders |
|
|
|
+| this docs commit | `v3-library-folders-summary` | library-folder summary |
|
|
|
+| final docs commit | `v3-session-2026-10-24-library-folders-end` | session tag |
|
|
|
+
|
|
|
+No push was performed.
|