summaryrefslogtreecommitdiff
path: root/src/test/smp
diff options
context:
space:
mode:
authorCliff Click <cliffc@acm.org>2026-08-10 11:11:18 -0700
committerCliff Click <cliffc@acm.org>2026-10-26 18:42:42 -0700
commit6407ed1a0e61a12f910864aebf11edc3be235560 (patch)
tree20c626208ed4ab48ebd9f86ba8469ce8611f483f /src/test/smp
parentd83053cb938f89a5529e114c912b2fb006a48bc9 (diff)
downloadSimple-6407ed1a0e61a12f910864aebf11edc3be235560.tar.gz
Simple-6407ed1a0e61a12f910864aebf11edc3be235560.zip
Chapter 28a: Modules and Lazy Class Initialization
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 'src/test/smp')
-rw-r--r--src/test/smp/lazy/App.smp3
-rw-r--r--src/test/smp/lazy/App/Main.smp1
-rw-r--r--src/test/smp/lazy/App/Stats.smp1
-rw-r--r--src/test/smp/lazy/App/Tables.smp4
4 files changed, 9 insertions, 0 deletions
diff --git a/src/test/smp/lazy/App.smp b/src/test/smp/lazy/App.smp
new file mode 100644
index 00000000..caf7b0c1
--- /dev/null
+++ b/src/test/smp/lazy/App.smp
@@ -0,0 +1,3 @@
+val Main=Main;
+val Tables=Tables;
+val Stats=Stats;
diff --git a/src/test/smp/lazy/App/Main.smp b/src/test/smp/lazy/App/Main.smp
new file mode 100644
index 00000000..2444f21b
--- /dev/null
+++ b/src/test/smp/lazy/App/Main.smp
@@ -0,0 +1 @@
+return arg ? Tables.square(3)+Tables.square(4)+100*Stats.builds : Stats.builds;
diff --git a/src/test/smp/lazy/App/Stats.smp b/src/test/smp/lazy/App/Stats.smp
new file mode 100644
index 00000000..e2d9e02e
--- /dev/null
+++ b/src/test/smp/lazy/App/Stats.smp
@@ -0,0 +1 @@
+int builds=0;
diff --git a/src/test/smp/lazy/App/Tables.smp b/src/test/smp/lazy/App/Tables.smp
new file mode 100644
index 00000000..0f32a118
--- /dev/null
+++ b/src/test/smp/lazy/App/Tables.smp
@@ -0,0 +1,4 @@
+Stats.builds++;
+int[] _squares=new int[256];
+for(int i=0; i<256; i++) _squares[i]=i*i;
+val square={u8 n -> _squares[n];};