summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/24-functor.sml17
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/24-functor.sml b/tests/24-functor.sml
new file mode 100644
index 0000000..d18337e
--- /dev/null
+++ b/tests/24-functor.sml
@@ -0,0 +1,17 @@
+signature MagicNumber = sig
+ val n : int
+end
+
+functor Exiter(N : MagicNumber) = struct
+ fun exit _ = __builtin "exit" N.n
+end
+
+structure FourtyTwo = struct
+ val a = 16
+ val n = 42
+ val z = 38
+end
+
+structure FourtyTwoExiter = Exiter(FourtyTwo)
+
+val _ = FourtyTwoExiter.exit ()