From 584eac7027cd4d29c5ca8744453ffeea8f18b501 Mon Sep 17 00:00:00 2001 From: Xavier Leroy Date: Sun, 7 Jun 2015 09:25:53 +0200 Subject: Represent external worlds by a coinductive type rather than an inductive type. As noticed by R. Krebbers, an inductive type for external worlds implies that all sequences of program-world interactions are finite, which is not the case. --- driver/Interp.ml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'driver/Interp.ml') diff --git a/driver/Interp.ml b/driver/Interp.ml index b16d2cae..f453af95 100644 --- a/driver/Interp.ml +++ b/driver/Interp.ml @@ -402,7 +402,7 @@ let do_inline_assembly txt sg ge w args m = None (* Implementing external functions producing observable events *) let rec world ge m = - Determinism.World(world_io ge m, world_vload ge m, world_vstore ge m) + lazy (Determinism.World(world_io ge m, world_vload ge m, world_vstore ge m)) and world_io ge m id args = None -- cgit