History log of /seL4-l4v-master/l4v/isabelle/src/Pure/System/isabelle_process.scala
Revision Date Author Comments
# 66e5efa7 02-Jan-2019 wenzelm <none@none>

more robust system channel via options that are private to the user;


# f9859169 18-May-2018 wenzelm <none@none>

support Store with options;


# b23addf1 17-May-2018 wenzelm <none@none>

clarified signature;


# 8f980f23 13-May-2018 wenzelm <none@none>

tuned signature;


# 62dbe30f 10-Dec-2017 wenzelm <none@none>

avoid println with its extra CR on Windows;


# 661414d1 11-Nov-2017 wenzelm <none@none>

tuned signature;


# 80237638 06-Apr-2017 wenzelm <none@none>

clarified signature: tree structure is not essential;


# 64edf159 01-Apr-2017 wenzelm <none@none>

clarified YXML vs. symbol encoding: operate on whole message;
tuned signature;


# 919d9d93 18-Mar-2017 wenzelm <none@none>

simplified signature (despite 448325de6e4f);


# b1dfca8d 18-Mar-2017 wenzelm <none@none>

more process arguments;


# 563529d6 14-Mar-2017 wenzelm <none@none>

support for permanent phase_changed watcher;


# 8d887a14 13-Mar-2017 wenzelm <none@none>

more explicit Session.xml_cache;


# 8600b00a 13-Mar-2017 wenzelm <none@none>

tuned signature;


# 4ea863d4 29-Mar-2016 wenzelm <none@none>

proper session dirs for "isabelle jedit" and "isabelle console" with options -d and -l;


# fc0cde3e 18-Mar-2016 wenzelm <none@none>

discontinued slightly odd "secure" mode;


# 1f59160a 16-Mar-2016 wenzelm <none@none>

less physical "logic" argument, with option -l like "isabelle console" etc.;


# 2eb781a4 15-Mar-2016 wenzelm <none@none>

find heaps uniformly via Sessions.Store;
tuned;


# 3987e6e1 10-Mar-2016 wenzelm <none@none>

clarified modules;

--HG--
rename : src/Pure/System/ml_process.scala => src/Pure/Tools/ml_process.scala


# c2de7ac6 08-Mar-2016 wenzelm <none@none>

tuned signature;


# 1c5e1685 08-Mar-2016 wenzelm <none@none>

more abstract Session.start, without prover command-line;
Isabelle_Process.apply is directly based on ML_Process;
clarified Isabelle_Process.main command-line;
tuned signature;


# 5b25da19 08-Mar-2016 wenzelm <none@none>

removed pointless option: this is meant for web services using Isabelle/Scala, not command-line tools;


# a2693c60 07-Mar-2016 wenzelm <none@none>

prospective command line entry point for simplified isabelle_process;


# 0f673750 07-Mar-2016 wenzelm <none@none>

clarified treatment of DEL;
tuned signature;


# f7c7fe0b 07-Mar-2016 wenzelm <none@none>

Bash.process always uses a closed script instead of an open argument list, for extra robustness on Windows, where quoting is not well-defined;
more robust File.bash_escape;
more robust treatment of ML_OPTIONS;
clarified prover args (again);


# 613a709a 14-Feb-2016 wenzelm <none@none>

tuned whitespace;


# d4a1266b 14-Feb-2016 wenzelm <none@none>

more careful quoting for the sake of Windows;


# f019e64f 13-Feb-2016 wenzelm <none@none>

tuned signature;


# bca2f6eb 13-Feb-2016 wenzelm <none@none>

clarified bash process -- similar to ML version;


# 5c10959b 20-Aug-2015 wenzelm <none@none>

clarified modules, like ML version;


# e0e8cf48 02-May-2015 wenzelm <none@none>

misc tuning, based on warnings by IntelliJ IDEA;


# 9c2abbef 12-Aug-2014 wenzelm <none@none>

tuned signature;


# ea788bea 12-Aug-2014 wenzelm <none@none>

generic process wrapping in Prover;
clarified module arrangement;


# 12755326 12-Aug-2014 wenzelm <none@none>

more abstract Prover.System_Process, which allows to bypass Isabelle_System.Managed_Process;


# 3fdb8b0f 02-May-2014 wenzelm <none@none>

prefer scala.Console with its support for thread-local redirection;


# d9c6077c 29-Apr-2014 wenzelm <none@none>

clarified exit sequence: prover is reset afterwards, no more output messages;


# 2c373bc2 29-Apr-2014 wenzelm <none@none>

clarified;


# 2fa3402c 24-Apr-2014 wenzelm <none@none>

tuned comments;


# 5313a209 24-Apr-2014 wenzelm <none@none>

tuned imports;


# f43db83e 24-Apr-2014 wenzelm <none@none>

clarified command_input: Consumer_Thread;


# a46106d3 24-Apr-2014 wenzelm <none@none>

eliminated pointless output actors;
clarified command_input, which already includes thread.join;


# 165c3e60 17-Apr-2014 wenzelm <none@none>

reintroduced process interrupt for the sake of synchronous protocol commands like "use_theories" (see also 27930cf6f0f7);


# 319dd242 03-Apr-2014 wenzelm <none@none>

recovered public command_line from d92eb5c3960d, which is important for alternative prover processes;


# 24eab3a6 03-Apr-2014 wenzelm <none@none>

more general prover operations;


# 9ba03690 03-Apr-2014 wenzelm <none@none>

more general prover operations;


# ffd59da7 20-Feb-2014 wenzelm <none@none>

tuned imports;


# b7e0e779 15-Nov-2013 wenzelm <none@none>

more distinctive Isabelle_Process.Output vs. Isabelle_Process.Protocol_Output;


# c5b32596 15-Nov-2013 wenzelm <none@none>

more specific Protocol_Output: empty message.body, main content via bytes/text;


# 9fed4e18 14-Nov-2013 wenzelm <none@none>

tuned signature;


# 7d90480e 30-Sep-2013 wenzelm <none@none>

tuned signature -- facilitate experimentation with other processes;


# bb07ee56 30-Jul-2013 wenzelm <none@none>

tuned -- more uniform ML vs. Scala;


# bb405300 10-Jul-2013 wenzelm <none@none>

tuned signature;


# 55103569 10-Jul-2013 wenzelm <none@none>

no need for raw stdin;


# 2320f19c 09-Apr-2013 wenzelm <none@none>

public Isabelle_Process.xml_cache (thread-safe);
cache derived status messages;


# 9a807fd8 09-Apr-2013 wenzelm <none@none>

tuned signature;


# 44145955 25-Nov-2012 wenzelm <none@none>

explicit module UTF8;


# 95d64a2f 25-Nov-2012 wenzelm <none@none>

Isabelle-specific implementation of quasi-abstract markup elements -- back to module arrangement before d83797ef0d2d;


# 3fca906d 18-Nov-2012 wenzelm <none@none>

update options via protocol;
jEdit dialog for "Parallel Checking" options;


# 5c6d3694 01-Oct-2012 wenzelm <none@none>

more direct message header: eliminated historic encoding via single letter;


# 8a52b34a 19-Sep-2012 wenzelm <none@none>

earlier treatment of embedded report/no_report messages (see also 4110cc1b8f9f);


# 370b2d0e 06-Aug-2012 wenzelm <none@none>

tuned signature -- slightly more abstract text representation of prover process;


# f22a864a 19-Jul-2012 wenzelm <none@none>

support for detached Bash_Job with some control operations;


# bd930821 19-Jul-2012 wenzelm <none@none>

support external processes with explicit environment;


# e3751aab 29-May-2012 wenzelm <none@none>

clarified prover startup: no timeout, read stderr more carefully;


# 93c03a00 29-May-2012 wenzelm <none@none>

need to close_input before expecting threads to terminate/join;
tuned signature;


# 2a0dc578 29-May-2012 wenzelm <none@none>

more explicit treatment of return code vs. session phase;


# 62551936 03-Mar-2012 wenzelm <none@none>

clarified terminology of raw protocol messages;


# a94c6df1 03-Mar-2012 wenzelm <none@none>

tuned;


# ef16d38c 03-Mar-2012 wenzelm <none@none>

tuned signature -- emphasize Isabelle_Process Input vs. Output;


# f30870e4 03-Mar-2012 wenzelm <none@none>

clarified scope of exception handlers;


# 9d7948ec 02-Mar-2012 wenzelm <none@none>

terminate after first exception -- avoid syslog flooding;


# 662b1787 20-Feb-2012 wenzelm <none@none>

clarified initial process startup errors: recover image load failure message (cf. 2cb7e34f6096) and suppress accidental output from raw ML toplevel;


# e55b3498 05-Jan-2012 wenzelm <none@none>

prefer raw_message for protocol implementation;


# 0c7f4273 01-Dec-2011 wenzelm <none@none>

clarified modules (again) -- NB: both Document and Protocol are specific to this particular prover;

--HG--
rename : src/Pure/PIDE/isabelle_document.ML => src/Pure/PIDE/protocol.ML
rename : src/Pure/PIDE/isabelle_document.scala => src/Pure/PIDE/protocol.scala


# 23e33658 29-Nov-2011 wenzelm <none@none>

clarified modules;

--HG--
rename : src/Pure/PIDE/isar_document.ML => src/Pure/PIDE/isabelle_document.ML
rename : src/Pure/PIDE/isar_document.scala => src/Pure/PIDE/isabelle_document.scala


# 99fd6f8e 28-Nov-2011 wenzelm <none@none>

separate module for concrete Isabelle markup;

--HG--
rename : src/Pure/General/markup.ML => src/Pure/General/isabelle_markup.ML
rename : src/Pure/General/markup.scala => src/Pure/General/isabelle_markup.scala


# 732a1eeb 25-Nov-2011 wenzelm <none@none>

retain stderr and include it in syslog, which is buffered and thus increases the chance that users see remains from crashes etc.;


# 2f509816 17-Oct-2011 wenzelm <none@none>

always use sockets on Windows/Cygwin;
discontinued special raw_dump facility;


# 3b8d2393 25-Sep-2011 wenzelm <none@none>

more uniform defaults;


# 499a01ea 23-Sep-2011 wenzelm <none@none>

explicit option for socket vs. fifo communication;


# 18ac3cf9 21-Sep-2011 wenzelm <none@none>

more abstract wrapping of fifos as System_Channel;


# bac9def4 07-Sep-2011 wenzelm <none@none>

added "cancel" button based on cancel_execution, not interrupt (cf. 156be0e43336);


# 4c673dd7 06-Sep-2011 wenzelm <none@none>

buffer prover messages to prevent overloading of session_actor input channel -- which is critical due to synchronous messages wrt. GUI thread;


# b8cf06d1 06-Sep-2011 wenzelm <none@none>

more abstract receiver interface;


# 88c4ac56 04-Sep-2011 wenzelm <none@none>

simplified signatures;


# 694eb9cf 04-Sep-2011 wenzelm <none@none>

pass raw messages through xml_cache actor, which is important to retain ordering of results (e.g. read_command reports before assign, cf. 383c9d758a56);


# 38dc694f 12-Jul-2011 wenzelm <none@none>

more uniform Properties in ML and Scala;


# b960762e 11-Jul-2011 wenzelm <none@none>

JVM method invocation service via Scala layer;


# e7ec6b2c 11-Jul-2011 wenzelm <none@none>

tuned signature;


# 8191600e 11-Jul-2011 wenzelm <none@none>

some support for raw messages, which bypass standard Symbol/YXML decoding;
tuned signature;


# b14ff28f 11-Jul-2011 wenzelm <none@none>

tuned XML.Cache parameters;


# 39115a2f 09-Jul-2011 wenzelm <none@none>

echo prover input via raw_messages, for improved protocol tracing;


# b16e54ba 07-Jul-2011 wenzelm <none@none>

simplified Symbol based on lazy Symbol.Interpretation -- reduced odd "functorial style";
tuned implicit build/init messages;


# 24836e10 04-Jul-2011 wenzelm <none@none>

quasi-static Isabelle_System -- reduced tendency towards "functorial style";


# 80be4c97 23-Jun-2011 wenzelm <none@none>

explicit import java.lang.System to prevent odd scope problems;


# 98b4c615 22-Jun-2011 wenzelm <none@none>

lazy Isabelle_System.default supports implicit boot;


# a9891c60 08-Jun-2011 wenzelm <none@none>

updated headers;


# f87dd904 01-Dec-2010 wenzelm <none@none>

more abstract/uniform handling of time, preferring seconds as Double;


# 8f68743b 27-Sep-2010 wenzelm <none@none>

bulk read: observe EOF protocol more carefully -- 0 counts as successful read;


# 6bfb03d2 23-Sep-2010 wenzelm <none@none>

tuned messages -- cf. Admin/MacOS/App1;


# 90bf8748 23-Sep-2010 wenzelm <none@none>

explicit Session.Phase indication with associated event bus;
asynchronous Session.start();
synchronous Session.stop();
added Plugin.session_manager on top of basic Session;
eliminated separate isabelle.activate action;
misc tuning;


# da23fc0f 23-Sep-2010 wenzelm <none@none>

manage persistent syslog via Session, not Isabelle_Process;
tuned;


# 025ce8bf 23-Sep-2010 wenzelm <none@none>

tuned prover message categorization;


# 30b6095f 23-Sep-2010 wenzelm <none@none>

tuned message;


# ec145904 22-Sep-2010 wenzelm <none@none>

tuned message;


# b1fcd4fd 22-Sep-2010 wenzelm <none@none>

more content for Session_Dockable;


# 72877045 22-Sep-2010 wenzelm <none@none>

more reactive handling of Isabelle_Process startup errors;


# 59c802cc 22-Sep-2010 wenzelm <none@none>

main Isabelle_Process via Isabelle_System.Managed_Process;
simplified init message: no pid;
misc tuning and simplification;


# f6942709 20-Sep-2010 wenzelm <none@none>

tuned;


# eb9b9742 20-Sep-2010 wenzelm <none@none>

tuned;


# 1417b8ad 20-Sep-2010 wenzelm <none@none>

added Isabelle_Process.syslog;
refined Isabelle_Process.process_manager: startup_output via syslog, explicit join of auxiliary threads;
tuned;


# bf2a91a7 20-Sep-2010 wenzelm <none@none>

Isabelle_Process: more robust rendezvous, even without proper blocking on open (Cygwin);


# e56b5928 19-Sep-2010 wenzelm <none@none>

refined Isabelle_Process startup: emit \002 before rendezvous on fifos, more robust treatment of startup failure with timeout, do not quit() after main loop;
tuned;


# 9f0799a3 19-Sep-2010 wenzelm <none@none>

message_actor: more robust treatment of EOF;


# 0a87afc8 19-Sep-2010 wenzelm <none@none>

simplified Isabelle_Process message kinds;
misc tuning and simplification;


# 6fe3efe7 18-Sep-2010 wenzelm <none@none>

recovered basic session stop/restart;


# 99f7753b 18-Sep-2010 wenzelm <none@none>

simplified fifo handling -- rm_fifo always succeeds without ever blocking;
tuned;


# da6af15c 18-Sep-2010 wenzelm <none@none>

slightly more robust Isabelle_Process startup -- NB: openening fifo streams synchronizes with other end, which may fail to reach that point;


# f6fdda62 17-Sep-2010 wenzelm <none@none>

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);


# 06835672 17-Sep-2010 wenzelm <none@none>

eliminated markup "location" in favour of more explicit "no_report", which is actually deleted from messages;


# 1caf0270 23-Aug-2010 wenzelm <none@none>

module for simplified thread operations (Scala version);


# 0e6f763c 22-Aug-2010 wenzelm <none@none>

tuned signatures;


# 827d80af 16-Aug-2010 wenzelm <none@none>

XML.Cache: pipe-lined (thread-safe) version using actor;
tuned Isabelle_Process.pid handling;


# c610fe9c 16-Aug-2010 wenzelm <none@none>

simplified internal message format: dropped special Symbol.STX header;


# edc42f0e 13-Aug-2010 wenzelm <none@none>

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);


# 40b8b8f2 10-Aug-2010 wenzelm <none@none>

native Isabelle_Process commands, based on efficient byte channel protocol for string lists;
misc clarification of proc/pid state, eliminated closing flag;
misc tuning and simplification;


# 27de6400 10-Aug-2010 wenzelm <none@none>

removed obsolete methods for (ML) commands;


# ee485f49 09-Aug-2010 wenzelm <none@none>

distinguish proper Isabelle_Process INPUT vs. raw STDIN, tuned corresponding method names;
asynchronous Isabelle_Process.init -- raw ML toplevel stays active;
simplified Isabelle_Process using actors;
misc tuning;


# b853a96e 09-Aug-2010 wenzelm <none@none>

Isabelle_Process: separate input fifo for commands (still using the old tty protocol);
some partial workarounds for Cygwin;


# 94f5d2a8 08-Aug-2010 wenzelm <none@none>

explicitly distinguish Output.status (essential feedback) vs. Output.report (useful markup);


# 6609c6bd 07-Aug-2010 wenzelm <none@none>

simplified some Markup;


# 16b11fcc 07-Aug-2010 wenzelm <none@none>

simplified type XML.Tree: embed Markup directly, avoid slightly odd triple;
XML.cache_tree: actually store XML.Text as well;
added Isabelle_Process.Result.properties;


# 03dd3009 05-Jul-2010 wenzelm <none@none>

specific ML_val vs. ML_command;


# 10e006a4 03-Jul-2010 wenzelm <none@none>

simplified Isabelle_Process.Result: use markup directly;


# 67665799 26-May-2010 wenzelm <none@none>

indicate prospective properties;


# 9eba84d1 25-May-2010 wenzelm <none@none>

eliminated obsolete priority message from Isabelle_Process protocol;


# 455e121d 21-May-2010 wenzelm <none@none>

simplified message markup, using plain XML.Elem directly;


# 563ef21c 21-May-2010 wenzelm <none@none>

more abstract view on prover output messages;


# 280a8f24 07-May-2010 wenzelm <none@none>

output symbolic pretty printing markup and format in the front end;


# 945e827d 30-Dec-2009 wenzelm <none@none>

added is_ready;


# cd51c7db 30-Dec-2009 wenzelm <none@none>

simplified init message -- removed redundant session property;


# 5f31ff8a 30-Dec-2009 wenzelm <none@none>

removed obsolete version check -- sanity delegated to Isabelle_System;
tuned;


# c80dc27d 28-Dec-2009 wenzelm <none@none>

separate Standard_System (Cygwin/Posix compatibility) vs. Isabelle_System (settings environment etc.);


# 42701ceb 18-Dec-2009 wenzelm <none@none>

tuned signature;


# cca09136 17-Dec-2009 wenzelm <none@none>

Result.cache;


# 5103ace0 17-Dec-2009 wenzelm <none@none>

fifo: raw byte stream;
Result: fully decoded symbols and tree structure;
adapted to simplified message format;
tuned;


# 438c2e8b 01-Sep-2009 wenzelm <none@none>

Isabelle_Process: receiver as Actor, not EventBus;
removed misleading Isabelle_Process.parse_message method -- use plain function instead;


# eccf5934 29-Aug-2009 wenzelm <none@none>

moved Pure/Tools/isabelle_syntax.scala to Pure/System/isabelle_syntax.scala;
renamed object IsabelleSyntax to Isabelle_Syntax;

--HG--
rename : src/Pure/Tools/isabelle_syntax.scala => src/Pure/System/isabelle_syntax.scala


# aae5dee8 25-Jun-2009 wenzelm <none@none>

renamed IsabelleProcess to Isabelle_Process;
renamed IsabelleSystem to Isabelle_System;


# f9bc30dd 07-Jun-2009 wenzelm <none@none>

static IsabelleSystem.charset;
static IsabelleSystem.is_cygwin -- based on system property "os.name";
smart bootstrapping of Isabelle settings environment (via implicit or explicit ISABELLE_TOOL, or isabelle.tool property, or isabelle via PATH);
source_file: removed obsolete special treatment of "ML";
misc tuning and reorganization;


# 0003e9ac 28-Feb-2009 wenzelm <none@none>

moved isabelle_process.ML, isabelle_process.scala, isar.ML, session.ML to Pure/System/ (together with associated Isar commands);

--HG--
rename : src/Pure/Tools/isabelle_process.ML => src/Pure/System/isabelle_process.ML
rename : src/Pure/Tools/isabelle_process.scala => src/Pure/System/isabelle_process.scala
rename : src/Pure/Isar/isar.ML => src/Pure/System/isar.ML
rename : src/Pure/Isar/session.ML => src/Pure/System/session.ML