src/Pure/System/isabelle_process.scala
2011-12-01 ago clarified modules (again) -- NB: both Document and Protocol are specific to this particular prover;
2011-11-29 ago clarified modules;
2011-11-28 ago separate module for concrete Isabelle markup;
2011-11-25 ago retain stderr and include it in syslog, which is buffered and thus increases the chance that users see remains from crashes etc.;
2011-10-17 ago always use sockets on Windows/Cygwin;
2011-09-25 ago more uniform defaults;
2011-09-23 ago explicit option for socket vs. fifo communication;
2011-09-21 ago more abstract wrapping of fifos as System_Channel;
2011-09-07 ago added "cancel" button based on cancel_execution, not interrupt (cf. 156be0e43336);
2011-09-06 ago buffer prover messages to prevent overloading of session_actor input channel -- which is critical due to synchronous messages wrt. GUI thread;
2011-09-06 ago more abstract receiver interface;
2011-09-04 ago simplified signatures;
2011-09-04 ago pass raw messages through xml_cache actor, which is important to retain ordering of results (e.g. read_command reports before assign, cf. 383c9d758a56);
2011-07-12 ago more uniform Properties in ML and Scala;
2011-07-11 ago JVM method invocation service via Scala layer;
2011-07-11 ago tuned signature;
2011-07-11 ago some support for raw messages, which bypass standard Symbol/YXML decoding;
2011-07-11 ago tuned XML.Cache parameters;
2011-07-09 ago echo prover input via raw_messages, for improved protocol tracing;
2011-07-07 ago simplified Symbol based on lazy Symbol.Interpretation -- reduced odd "functorial style";
2011-07-04 ago quasi-static Isabelle_System -- reduced tendency towards "functorial style";
2011-06-23 ago explicit import java.lang.System to prevent odd scope problems;
2011-06-22 ago lazy Isabelle_System.default supports implicit boot;
2011-06-08 ago updated headers;
2010-12-01 ago more abstract/uniform handling of time, preferring seconds as Double;
2010-09-27 ago bulk read: observe EOF protocol more carefully -- 0 counts as successful read;
2010-09-23 ago tuned messages -- cf. Admin/MacOS/App1;
2010-09-23 ago explicit Session.Phase indication with associated event bus;
2010-09-23 ago manage persistent syslog via Session, not Isabelle_Process;
2010-09-23 ago tuned prover message categorization;
2010-09-23 ago tuned message;
2010-09-22 ago tuned message;
2010-09-22 ago more content for Session_Dockable;
2010-09-22 ago more reactive handling of Isabelle_Process startup errors;
2010-09-22 ago main Isabelle_Process via Isabelle_System.Managed_Process;
2010-09-20 ago tuned;
2010-09-20 ago tuned;
2010-09-20 ago added Isabelle_Process.syslog;
2010-09-20 ago Isabelle_Process: more robust rendezvous, even without proper blocking on open (Cygwin);
2010-09-19 ago refined Isabelle_Process startup: emit \002 before rendezvous on fifos, more robust treatment of startup failure with timeout, do not quit() after main loop;
2010-09-19 ago message_actor: more robust treatment of EOF;
2010-09-19 ago simplified Isabelle_Process message kinds;
2010-09-18 ago recovered basic session stop/restart;
2010-09-18 ago simplified fifo handling -- rm_fifo always succeeds without ever blocking;
2010-09-18 ago slightly more robust Isabelle_Process startup -- NB: openening fifo streams synchronizes with other end, which may fail to reach that point;
2010-09-17 ago discontinued Output.debug, which belongs to early PGIP experiments (b6788dbd2ef9) and causes just too many problems (like spamming the message channel if it is used by more than one module);
2010-09-17 ago eliminated markup "location" in favour of more explicit "no_report", which is actually deleted from messages;
2010-08-23 ago module for simplified thread operations (Scala version);
2010-08-22 ago tuned signatures;
2010-08-16 ago XML.Cache: pipe-lined (thread-safe) version using actor;
2010-08-16 ago simplified internal message format: dropped special Symbol.STX header;
2010-08-13 ago added Isabelle_Process.input_bytes, which avoids the somewhat slow Standard_System.string_bytes (just in case someone wants to stream raw data at 250MB/s);
2010-08-11 ago native Isabelle_Process commands, based on efficient byte channel protocol for string lists;
2010-08-10 ago removed obsolete methods for (ML) commands;
2010-08-10 ago distinguish proper Isabelle_Process INPUT vs. raw STDIN, tuned corresponding method names;
2010-08-09 ago Isabelle_Process: separate input fifo for commands (still using the old tty protocol);
2010-08-08 ago explicitly distinguish Output.status (essential feedback) vs. Output.report (useful markup);
2010-08-07 ago simplified some Markup;
2010-08-07 ago simplified type XML.Tree: embed Markup directly, avoid slightly odd triple;
2010-07-05 ago specific ML_val vs. ML_command;