summaryrefslogtreecommitdiff
path: root/ainotes.txt
diff options
context:
space:
mode:
authorCliff Click <cliffc@acm.org>2026-08-10 11:11:18 -0700
committerCliff Click <cliffc@acm.org>2026-10-24 15:56:44 -0700
commit7914681413f3e3562733786aa02b1fc7adfbe9b0 (patch)
treea33a763882a3b65712835c71bdabb9873ceee55c /ainotes.txt
parent741d78b6e840c88b7b183010c812ad982b342da1 (diff)
downloadSimple-7914681413f3e3562733786aa02b1fc7adfbe9b0.tar.gz
Simple-7914681413f3e3562733786aa02b1fc7adfbe9b0.zip
Chapter 28b: Separate Compilationlinear-chapter28blinear
Co-authored-by: Hsiang-Ying Fu <66062782+fuhsnn@users.noreply.github.com> Co-authored-by: fuhsnn <66062782+fuhsnn@users.noreply.github.com> Co-authored-by: Symious <14933944+symious@users.noreply.github.com> Co-authored-by: Jun Kawasaki <jun784@gmail.com> Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Diffstat (limited to 'ainotes.txt')
-rw-r--r--ainotes.txt34
1 files changed, 34 insertions, 0 deletions
diff --git a/ainotes.txt b/ainotes.txt
new file mode 100644
index 00000000..c0b03a4d
--- /dev/null
+++ b/ainotes.txt
@@ -0,0 +1,34 @@
+
+Historical design notes from the former combined Chapter 25, now Chapter 28b.
+Current status and remaining work are in ../docs/stage-audit.md and
+../docs/chapter-backports.md. The original intent below is preserved.
+
+Meta-info: I intend to keep extending and re-editing this "ainotes.txt" file so
+I can reprompt the you (the AI) between AI restarts, As such this file will
+contain a mix of high-level design decisions, goals, intents and wisdom, and
+then taper down to more detailed problems and solutions - which probably keep
+changing.
+
+AI is allowed access to all files recursively in "C:/Users/cliffc/Desktop/Simple"
+directory.
+
+Meta-info: all the tests run with `make tests` currently run, and should again
+run before we accept any changes.
+
+
+The overall project is rooted in the `Simple/` directory,
+and is a compiler tutorial broken up into chapters.
+The chapters build on each other.
+
+Read the code in this chapter25; the goal in this chapter is to allow separate
+compilation. I want to compile a "standard library", the start of which is in
+`src/main/smp/sys.smp` and subdirectories and end up with either an archive or
+a "fat ELF .o" file.
+
+Then I want to compile a 1-liner "hello world" program:
+ `sys.io.p("Hello World!");`
+and have the symbols `sys`, `io` and `p` be found in the standard library.
+
+I am using a test case to represent this seperate compilation strategy in
+`Chapter25Test.testModules`. There are comments there to help drive my
+thinking.