diff options
| author | Rose Hogenson <rosehogenson@posteo.net> | 2025-11-04 18:58:28 -0800 |
|---|---|---|
| committer | Rose Hogenson <rosehogenson@posteo.net> | 2025-11-04 21:05:18 -0800 |
| commit | eaa183b7dfc841df75d42ace7a90ada1e40ff282 (patch) | |
| tree | 1d627b8088d5996a7bbf7c0a7439360e31de3dc3 /tests | |
| parent | c48a992a6ed6ebd79c344b37364a680ddd948dea (diff) | |
| download | sml-main.tar.zst | |
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/010-simple.sml (renamed from tests/01-simple.sml) | 0 | ||||
| -rw-r--r-- | tests/020-lambda.sml (renamed from tests/02-lambda.sml) | 0 | ||||
| -rw-r--r-- | tests/030-arg.sml (renamed from tests/03-arg.sml) | 0 | ||||
| -rw-r--r-- | tests/040-val.sml (renamed from tests/04-val.sml) | 0 | ||||
| -rw-r--r-- | tests/050-let.sml (renamed from tests/05-let.sml) | 0 | ||||
| -rw-r--r-- | tests/060-let-multiple.sml (renamed from tests/06-let-multiple.sml) | 0 | ||||
| -rw-r--r-- | tests/070-add.sml (renamed from tests/07-add.sml) | 0 | ||||
| -rw-r--r-- | tests/080-multiply.sml (renamed from tests/08-multiply.sml) | 0 | ||||
| -rw-r--r-- | tests/090-subtract.sml (renamed from tests/09-subtract.sml) | 0 | ||||
| -rw-r--r-- | tests/100-divide.sml (renamed from tests/10-divide.sml) | 0 | ||||
| -rw-r--r-- | tests/110-case.sml (renamed from tests/11-case.sml) | 0 | ||||
| -rw-r--r-- | tests/120-case-int.sml (renamed from tests/12-case-int.sml) | 0 | ||||
| -rw-r--r-- | tests/130-fibonacci.sml (renamed from tests/13-fibonacci.sml) | 0 | ||||
| -rw-r--r-- | tests/140-fun.sml (renamed from tests/14-fun.sml) | 0 | ||||
| -rw-r--r-- | tests/150-tuple.sml (renamed from tests/15-tuple.sml) | 0 | ||||
| -rw-r--r-- | tests/155-case-tuple.sml | 4 | ||||
| -rw-r--r-- | tests/160-datatype.sml (renamed from tests/16-datatype.sml) | 0 | ||||
| -rw-r--r-- | tests/170-case-datatype.sml (renamed from tests/17-case-datatype.sml) | 0 | ||||
| -rw-r--r-- | tests/175-case-datatype-default.sml | 6 | ||||
| -rw-r--r-- | tests/180-fun-case.sml (renamed from tests/18-fun-case.sml) | 0 | ||||
| -rw-r--r-- | tests/190-list.sml (renamed from tests/19-list.sml) | 1 | ||||
| -rw-r--r-- | tests/200-structure.sml (renamed from tests/20-structure.sml) | 0 | ||||
| -rw-r--r-- | tests/210-struct-datatype.sml (renamed from tests/21-struct-datatype.sml) | 0 | ||||
| -rw-r--r-- | tests/220-nested-struct.sml (renamed from tests/22-nested-struct.sml) | 0 | ||||
| -rw-r--r-- | tests/225-two-structs.sml | 9 | ||||
| -rw-r--r-- | tests/230-signature.sml (renamed from tests/23-signature.sml) | 0 | ||||
| -rw-r--r-- | tests/240-functor.sml (renamed from tests/24-functor.sml) | 0 | ||||
| -rw-r--r-- | tests/250-list.sml | 6 | ||||
| -rw-r--r-- | tests/260-cons.sml | 4 |
29 files changed, 29 insertions, 1 deletions
diff --git a/tests/01-simple.sml b/tests/010-simple.sml index e41f9b4..e41f9b4 100644 --- a/tests/01-simple.sml +++ b/tests/010-simple.sml diff --git a/tests/02-lambda.sml b/tests/020-lambda.sml index 41470a2..41470a2 100644 --- a/tests/02-lambda.sml +++ b/tests/020-lambda.sml diff --git a/tests/03-arg.sml b/tests/030-arg.sml index 8d10139..8d10139 100644 --- a/tests/03-arg.sml +++ b/tests/030-arg.sml diff --git a/tests/04-val.sml b/tests/040-val.sml index 20d07b4..20d07b4 100644 --- a/tests/04-val.sml +++ b/tests/040-val.sml diff --git a/tests/05-let.sml b/tests/050-let.sml index d1c27f5..d1c27f5 100644 --- a/tests/05-let.sml +++ b/tests/050-let.sml diff --git a/tests/06-let-multiple.sml b/tests/060-let-multiple.sml index 47441ac..47441ac 100644 --- a/tests/06-let-multiple.sml +++ b/tests/060-let-multiple.sml diff --git a/tests/07-add.sml b/tests/070-add.sml index 9892b23..9892b23 100644 --- a/tests/07-add.sml +++ b/tests/070-add.sml diff --git a/tests/08-multiply.sml b/tests/080-multiply.sml index d75c316..d75c316 100644 --- a/tests/08-multiply.sml +++ b/tests/080-multiply.sml diff --git a/tests/09-subtract.sml b/tests/090-subtract.sml index 2374816..2374816 100644 --- a/tests/09-subtract.sml +++ b/tests/090-subtract.sml diff --git a/tests/10-divide.sml b/tests/100-divide.sml index a701180..a701180 100644 --- a/tests/10-divide.sml +++ b/tests/100-divide.sml diff --git a/tests/11-case.sml b/tests/110-case.sml index 297ae5b..297ae5b 100644 --- a/tests/11-case.sml +++ b/tests/110-case.sml diff --git a/tests/12-case-int.sml b/tests/120-case-int.sml index 98967e4..98967e4 100644 --- a/tests/12-case-int.sml +++ b/tests/120-case-int.sml diff --git a/tests/13-fibonacci.sml b/tests/130-fibonacci.sml index ec89f70..ec89f70 100644 --- a/tests/13-fibonacci.sml +++ b/tests/130-fibonacci.sml diff --git a/tests/14-fun.sml b/tests/140-fun.sml index 210b30d..210b30d 100644 --- a/tests/14-fun.sml +++ b/tests/140-fun.sml diff --git a/tests/15-tuple.sml b/tests/150-tuple.sml index 114fd25..114fd25 100644 --- a/tests/15-tuple.sml +++ b/tests/150-tuple.sml diff --git a/tests/155-case-tuple.sml b/tests/155-case-tuple.sml new file mode 100644 index 0000000..774fb34 --- /dev/null +++ b/tests/155-case-tuple.sml @@ -0,0 +1,4 @@ +val _ = __builtin "exit" + (case (1, 2, 42) of + (_, 2, x) => x + | _ => 13) diff --git a/tests/16-datatype.sml b/tests/160-datatype.sml index 7514606..7514606 100644 --- a/tests/16-datatype.sml +++ b/tests/160-datatype.sml diff --git a/tests/17-case-datatype.sml b/tests/170-case-datatype.sml index 974f263..974f263 100644 --- a/tests/17-case-datatype.sml +++ b/tests/170-case-datatype.sml diff --git a/tests/175-case-datatype-default.sml b/tests/175-case-datatype-default.sml new file mode 100644 index 0000000..221bc13 --- /dev/null +++ b/tests/175-case-datatype-default.sml @@ -0,0 +1,6 @@ +datatype D = A of int * int | B + +val _ = __builtin "exit" + (case A (42, 13) of + A (x, 13) => x + | _ => 10) diff --git a/tests/18-fun-case.sml b/tests/180-fun-case.sml index d64b7d7..d64b7d7 100644 --- a/tests/18-fun-case.sml +++ b/tests/180-fun-case.sml diff --git a/tests/19-list.sml b/tests/190-list.sml index 52404dc..de69c4a 100644 --- a/tests/19-list.sml +++ b/tests/190-list.sml @@ -1,5 +1,4 @@ infix 6 + -infixr 5 :: datatype 'a list = Nil | :: of 'a * 'a list diff --git a/tests/20-structure.sml b/tests/200-structure.sml index dfc7b9b..dfc7b9b 100644 --- a/tests/20-structure.sml +++ b/tests/200-structure.sml diff --git a/tests/21-struct-datatype.sml b/tests/210-struct-datatype.sml index ab714ea..ab714ea 100644 --- a/tests/21-struct-datatype.sml +++ b/tests/210-struct-datatype.sml diff --git a/tests/22-nested-struct.sml b/tests/220-nested-struct.sml index 1eaf6ab..1eaf6ab 100644 --- a/tests/22-nested-struct.sml +++ b/tests/220-nested-struct.sml diff --git a/tests/225-two-structs.sml b/tests/225-two-structs.sml new file mode 100644 index 0000000..465840f --- /dev/null +++ b/tests/225-two-structs.sml @@ -0,0 +1,9 @@ +structure A = struct + val fourtyTwo = 42 +end +val B = 10 +structure X = struct + val Y = A.fourtyTwo +end + +val _ = __builtin "exit" X.Y diff --git a/tests/23-signature.sml b/tests/230-signature.sml index 01a8494..01a8494 100644 --- a/tests/23-signature.sml +++ b/tests/230-signature.sml diff --git a/tests/24-functor.sml b/tests/240-functor.sml index d18337e..d18337e 100644 --- a/tests/24-functor.sml +++ b/tests/240-functor.sml diff --git a/tests/250-list.sml b/tests/250-list.sml new file mode 100644 index 0000000..4aeecf2 --- /dev/null +++ b/tests/250-list.sml @@ -0,0 +1,6 @@ +val _ = __builtin "exit" + (case [1, 2, 42] of + [] => 10 + | [x] => x + | [_, _, x] => x + | _ => 13) diff --git a/tests/260-cons.sml b/tests/260-cons.sml new file mode 100644 index 0000000..f01cefe --- /dev/null +++ b/tests/260-cons.sml @@ -0,0 +1,4 @@ +val _ = __builtin "exit" + (case 42 :: [] of + x :: _ => x + | _ => 13) |
