src/Pure/Concurrent/future.ML
Thu, 05 Sep 2024 17:39:45 +0200 wenzelm clarified signature: type ML_Pretty.pretty coincides with PolyML.pretty;
Tue, 17 Oct 2023 12:10:58 +0200 wenzelm tuned signature, following Isabelle/Scala;
Thu, 12 Oct 2023 14:59:59 +0200 wenzelm further clarification of Exn.is_interrupt_proper vs. overall Exn.is_interrupt;
Wed, 11 Oct 2023 12:22:46 +0200 wenzelm tuned;
Wed, 11 Oct 2023 11:59:24 +0200 wenzelm proper Exn.capture / Isabelle_Thread.try_catch;
Wed, 11 Oct 2023 11:27:01 +0200 wenzelm clarified signature;
Wed, 11 Oct 2023 10:46:50 +0200 wenzelm clarified signature;
Tue, 26 Sep 2023 14:42:33 +0200 wenzelm clarified signature;
Tue, 26 Sep 2023 12:46:31 +0200 wenzelm tuned signature;
Mon, 25 Sep 2023 21:58:58 +0200 wenzelm clarified signature;
Mon, 25 Sep 2023 21:46:38 +0200 wenzelm clarified modules;
Mon, 25 Sep 2023 18:45:41 +0200 wenzelm clarified signature: avoid association with potentially dangerous Exn.capture;
Thu, 21 Sep 2023 23:45:03 +0200 wenzelm clarified modules;
Thu, 21 Sep 2023 18:14:28 +0200 wenzelm clarified modules;
Wed, 06 Sep 2023 20:51:28 +0200 wenzelm clarified signature: retain original Poly/ML names Thread.Thread, Thread.Mutex, Thread.ConditionVar and de-emphasize them for Isabelle/ML;
Wed, 06 Sep 2023 14:09:27 +0200 wenzelm more explicit type Isabelle_Thread.T;
Sun, 22 Aug 2021 19:21:54 +0200 wenzelm tuned signature;
Fri, 07 Aug 2020 20:19:49 +0200 wenzelm ML statistics via external process: allows monitoring RTS while ML program sleeps;
Wed, 05 Aug 2020 16:16:37 +0200 wenzelm avoid exhaustion of worker threads, notably due to complex interaction of future/promise/lazy in Proofterm.make_thm_node;
Wed, 05 Aug 2020 12:42:43 +0200 wenzelm more robust: insist in finished future;
Wed, 05 Aug 2020 12:34:23 +0200 wenzelm unused;
Wed, 29 Jul 2020 14:23:19 +0200 wenzelm more robust scheduler shutdown, notably for spurious crashes;
Wed, 15 Jul 2020 16:10:43 +0200 wenzelm clarified user counters: expose tasks to external monitor;
Sun, 24 May 2020 20:59:34 +0200 wenzelm clarified signature;
Sun, 05 Apr 2020 13:05:40 +0200 wenzelm clarified names;
Thu, 06 Sep 2018 14:08:35 +0200 wenzelm simplified signature (again, see 751bcf0473a7): e.g. relevant for non-Isabelle ML environments;
Tue, 05 Jun 2018 14:07:51 +0200 wenzelm tuned;
Wed, 16 May 2018 21:06:28 +0200 wenzelm tuned signature;
Fri, 11 May 2018 19:27:00 +0200 wenzelm slightly more ambitious parallelism (again);
Wed, 09 May 2018 20:45:57 +0200 wenzelm clarified future scheduling parameters, with support for parallel_limit;
Wed, 09 May 2018 19:53:37 +0200 wenzelm record total number of tasks;
Mon, 19 Feb 2018 10:35:53 +0100 wenzelm clarified modules;
Tue, 31 Oct 2017 15:36:50 +0100 wenzelm minor performance tuning: avoid mutable variable for plain value, e.g. relevant for GC;
Tue, 08 Aug 2017 12:21:29 +0200 wenzelm clarified signature;
Mon, 07 Aug 2017 20:05:23 +0200 wenzelm more thorough Execution.join, under the assumption that nested Execution.fork only happens from given exed_ids;
Thu, 22 Jun 2017 14:27:13 +0200 wenzelm more informative task_statistics;
Mon, 17 Oct 2016 16:58:39 +0200 wenzelm eliminated unused argument;
Mon, 05 Sep 2016 23:11:00 +0200 wenzelm clarified modules;
Sat, 09 Apr 2016 14:17:50 +0200 wenzelm tuned signature;
Sat, 09 Apr 2016 14:11:31 +0200 wenzelm tuned signature -- closer to Exn.Interrupt.expose in Scala;
Sat, 09 Apr 2016 14:00:23 +0200 wenzelm clarified bootstrap;
Wed, 06 Apr 2016 16:33:33 +0200 wenzelm clarified modules;
Sat, 02 Apr 2016 23:29:05 +0200 wenzelm prefer infix operations;
Sat, 02 Apr 2016 22:38:26 +0200 wenzelm tuned signature;
Sat, 02 Apr 2016 21:10:07 +0200 wenzelm careful export of type-dependent functions, without losing their special status;
Fri, 18 Mar 2016 16:26:35 +0100 wenzelm clarified modules;
Thu, 03 Mar 2016 15:23:02 +0100 wenzelm clarified modules;
Thu, 18 Feb 2016 23:10:28 +0100 wenzelm unconditional Multithreading;
Tue, 03 Nov 2015 13:54:34 +0100 wenzelm clarified modules;
Tue, 01 Sep 2015 23:10:23 +0200 wenzelm thread context for exceptions from forks, e.g. relevant when printing errors;
Wed, 12 Aug 2015 01:39:31 +0200 wenzelm default ML context for forks, e.g. relevant for debugging and toplevel pretty-printing;
Tue, 21 Jul 2015 14:12:45 +0200 wenzelm more explicit thread identification;
Mon, 29 Jun 2015 20:55:46 +0200 wenzelm improved scheduling for urgent tasks, using farm of replacement threads (may lead to factor 2 overloading, but CPUs are usually hyperthreaded);
Thu, 29 Jan 2015 15:21:16 +0100 wenzelm explicit threads_stack_limit (for recent Poly/ML SVN versions), which leads to soft interrupt instead of exhaustion of virtual memory, which is particularly relevant for the bigger address space of x86_64;
Thu, 29 Jan 2015 13:58:02 +0100 wenzelm unused;
Thu, 29 Jan 2015 13:49:03 +0100 wenzelm clarified worker_wait;
Sat, 10 Jan 2015 14:28:41 +0100 wenzelm explicit shutdown of scheduler and worker thread farm, assuming Session.shutdown() before saving heap image;
Sat, 10 Jan 2015 12:21:27 +0100 wenzelm discontinued worker_trend: prefer constant number of active + reserve threads;
Fri, 09 Jan 2015 20:12:42 +0100 wenzelm permissive worker_start: failure to fork thread is deferred to later attempt to provide missing threads, without crashing scheduler;
Mon, 22 Dec 2014 20:40:37 +0100 wenzelm discontinued central critical sections: NAMED_CRITICAL / CRITICAL;
less more (0) -100 -60 tip