summaryrefslogtreecommitdiff
path: root/test/ocaml
diff options
context:
space:
mode:
authorBrian Campbell2017-10-18 15:07:24 +0100
committerBrian Campbell2017-10-18 15:07:24 +0100
commitbd9cabab3e20b92a705f37f0a1974033a869bde0 (patch)
treec73e3e47b4ce0578c9b79ca3ebd3ad74db93ffa4 /test/ocaml
parent79043c19238559a7daea7b495e604ef00a6b2a8c (diff)
parent4043f496ff8dae7fa2bc2b4da4e02d2d9942e66d (diff)
Merge branch 'experiments' of Peter_Sewell/sail into mono-experiments
(and fix up monomorphisation)
Diffstat (limited to 'test/ocaml')
-rw-r--r--test/ocaml/loop/expect100
-rw-r--r--test/ocaml/loop/loop.sail18
2 files changed, 118 insertions, 0 deletions
diff --git a/test/ocaml/loop/expect b/test/ocaml/loop/expect
new file mode 100644
index 00000000..190423f8
--- /dev/null
+++ b/test/ocaml/loop/expect
@@ -0,0 +1,100 @@
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
diff --git a/test/ocaml/loop/loop.sail b/test/ocaml/loop/loop.sail
new file mode 100644
index 00000000..5ab0e817
--- /dev/null
+++ b/test/ocaml/loop/loop.sail
@@ -0,0 +1,18 @@
+
+val extern int -> string effect pure string_of_int = "string_of_big_int"
+
+val extern (int, int) -> int effect pure add = "add"
+val extern (int, int) -> bool effect pure lt = "lt_int"
+
+overload (deinfix +) [add]
+overload (deinfix <) [lt]
+
+val unit -> unit effect pure main
+
+function main () = {
+ (int) x := 0;
+ while x < 100 do {
+ x := x + 1;
+ print(string_of_int(x))
+ }
+}