equal
deleted
inserted
replaced
152 fun result_commit (Result {commit, ...}) = commit; |
152 fun result_commit (Result {commit, ...}) = commit; |
153 fun result_ord (Result {weight = i, ...}, Result {weight = j, ...}) = int_ord (j, i); |
153 fun result_ord (Result {weight = i, ...}, Result {weight = j, ...}) = int_ord (j, i); |
154 |
154 |
155 fun join_theory (Result {theory, exec_id, ...}) = |
155 fun join_theory (Result {theory, exec_id, ...}) = |
156 let |
156 let |
157 (*toplevel proofs and diags*) |
157 val _ = Execution.join [exec_id]; |
158 val _ = Future.join_tasks (Execution.snapshot [exec_id]); |
|
159 (*fully nested proofs*) |
|
160 val res = Exn.capture Thm.consolidate_theory theory; |
158 val res = Exn.capture Thm.consolidate_theory theory; |
161 in res :: map Exn.Exn (maps Task_Queue.group_status (Execution.peek exec_id)) end; |
159 val errs = maps Task_Queue.group_status (Execution.peek exec_id); |
|
160 in res :: map Exn.Exn errs end; |
162 |
161 |
163 datatype task = |
162 datatype task = |
164 Task of Path.T * string list * (theory list -> result) | |
163 Task of Path.T * string list * (theory list -> result) | |
165 Finished of theory; |
164 Finished of theory; |
166 |
165 |