History log of /seL4-l4v-10.1.1/isabelle/src/Pure/PIDE/document.ML
Revision Date Author Comments
# abd87812 29-Jun-2018 wenzelm <none@none>

always consolidate: allow errors in presentation;


# 62ac99b4 05-Jun-2018 wenzelm <none@none>

less wasteful consolidation, based on PIDE front-end state and recent changes;


# 4b8a01a9 05-Jun-2018 wenzelm <none@none>

tuned -- short-circuit result;


# 871eceda 03-Jun-2018 wenzelm <none@none>

proper function invocation with all arguments;


# 027b9894 03-Jun-2018 wenzelm <none@none>

fork parallel prints early in execution: avoid degradation of priority due to main eval task;


# a712d848 02-Jun-2018 wenzelm <none@none>

record active execution task and depend on it -- avoid new executions bumping into old ones;


# d2d19539 01-Jun-2018 wenzelm <none@none>

clarified priority;


# 284ed3f3 31-May-2018 wenzelm <none@none>

Document.update includes node consolidation / presentation as regular print operation: avoid user operations on protocol thread;
tuned;


# b82b4fe5 29-May-2018 wenzelm <none@none>

more node status information;


# fe6d63e7 16-May-2018 wenzelm <none@none>

clarified "consolidation" vs. "presentation";


# a63ae1fa 14-May-2018 wenzelm <none@none>

support for dynamic document output while editing;


# c9fdf183 24-Jan-2018 wenzelm <none@none>

tuned: prefer list operations over Source.source;
approximative parsing of theory header;


# 739725f6 08-Jan-2018 wenzelm <none@none>

clarified implicit Pure.thy;


# dd1da728 16-Dec-2017 wenzelm <none@none>

PIDE markup for session ROOT files;


# f6ce89c5 08-Aug-2017 wenzelm <none@none>

maintain "consolidated" status of theory nodes, which means all evals are finished (but not necessarily prints nor imports);


# aa517ebf 07-Aug-2017 wenzelm <none@none>

tuned spelling;


# cb9beaae 07-Aug-2017 wenzelm <none@none>

tuned;


# ee8a0899 22-Jun-2017 wenzelm <none@none>

more informative task_statistics;


# 7f8430cb 08-Apr-2017 wenzelm <none@none>

more qualifier treatment, but in the end it is still ignored;


# e4674f39 03-Apr-2017 wenzelm <none@none>

simplified direct theory name (again, see also 570ba266f5b5, 2a7f9e79cb28);


# 8c8f1e4d 18-Apr-2016 wenzelm <none@none>

more IDE support for Isabelle/Pure bootstrap;


# cd6a150b 09-Apr-2016 wenzelm <none@none>

support ROOT0.ML as well -- independently of ROOT.ML;


# b7f74ad2 06-Apr-2016 wenzelm <none@none>

treat ROOT.ML as theory with header "theory ML_Root imports ML_Bootstrap begin";


# 185dcd47 02-Apr-2016 wenzelm <none@none>

prefer infix operations;


# dccdabe3 03-Mar-2016 wenzelm <none@none>

clarified modules;
tuned signature;


# 02f40886 01-Sep-2015 wenzelm <none@none>

thread context for exceptions from forks, e.g. relevant when printing errors;
tuned signature;


# 8a5bd15f 15-Aug-2015 wenzelm <none@none>

clarified context;


# fa17a25d 10-Aug-2015 wenzelm <none@none>

set breakpoint state on ML side, relying on stable situation within the PIDE editing queue;


# 9838cb14 12-Apr-2015 wenzelm <none@none>

clarified language_path markup (again): exactly once *after* static phase, see also 83071f4c8ae6 and c043306d2598;


# 667341d1 06-Apr-2015 wenzelm <none@none>

more position information and PIDE markup for command keywords;


# 0b1d4452 17-Mar-2015 wenzelm <none@none>

misc tuning and simplification;


# fb828a0d 16-Mar-2015 wenzelm <none@none>

more precises positions;
more permissive imports;


# fa0358c5 16-Mar-2015 wenzelm <none@none>

avoid duplicate header errors, more precise positions;
tuned signature;


# f6c83d3a 15-Mar-2015 wenzelm <none@none>

hybrid use of command blobs: inlined errors and auxiliary files;
static check of theory imports;


# 9d03af49 12-Mar-2015 wenzelm <none@none>

simplified Command.resolve_files in ML, using blobs_index from Scala;
clarified modules;


# 38763bb6 13-Mar-2015 wenzelm <none@none>

tuned;


# f0634e11 12-Mar-2015 wenzelm <none@none>

clarified markup for embedded files, early before execution;


# e08e1832 10-Jan-2015 wenzelm <none@none>

more explicit errors;


# 28af346b 29-Dec-2014 wenzelm <none@none>

clarified execution graph traversal: stable imports are required to proceed, e.g. relevant to avoid crash of init_theory after discontinued execution;


# 607f5290 28-Dec-2014 wenzelm <none@none>

eliminated Document.execution frontier (again, see 627fb639a2d9): just run into older execution, potentially stalling worker thread, but without global delay due to long-running tasks (notably sledgehammer);
clarified Command.run_process etc.: join running eval, bypass running print;
eliminated Command.memo in favour of regular Lazy.lazy;
more Lazy.lazy status information;


# 7aa8f74c 03-Dec-2014 wenzelm <none@none>

node-specific keywords, with session base syntax as default;


# 08f5939a 03-Dec-2014 wenzelm <none@none>

clarified define_command: send tokens more directly, without requiring keywords in ML;


# 91c3d5c1 03-Dec-2014 wenzelm <none@none>

tuned signature;


# 5b0666ec 26-Nov-2014 wenzelm <none@none>

even more exception traces for Document.update, which goes through additional execution wrappers;


# fea94648 24-Apr-2015 wenzelm <none@none>

always traverse required nodes, e.g. relevant for inlined errors of imported theory header;


# fbad86b6 07-Nov-2014 wenzelm <none@none>

prefer externally provided keywords -- Command.read_thy may degenerate to bootstrap_thy in case of errors;
tuned message;


# c12ca051 07-Nov-2014 wenzelm <none@none>

plain value Keywords.keywords, which might be used outside theory for bootstrap purposes;
plain value Outer_Syntax within theory: parsing requires current theory context;
clarified name of Keyword.is_literal according to its semantics;
eliminated pointless type Keyword.T;
simplified @{command_spec};
clarified bootstrap keywords and syntax: take it as basis instead of side-branch;


# 7ecf819b 06-Nov-2014 wenzelm <none@none>

more explicit Keyword.keywords;


# 080f442c 06-Nov-2014 wenzelm <none@none>

simplified keyword kinds;
more explicit bootstrap syntax;


# df4ccf3c 05-Nov-2014 wenzelm <none@none>

explicit type Keyword.keywords;
tuned signature;


# 0da05f9f 12-Aug-2014 wenzelm <none@none>

tuned signature according to Scala version -- prefer explicit argument;


# fec16c8c 11-Aug-2014 wenzelm <none@none>

separate module Command_Span: mostly syntactic representation;
potentially prover-specific Output_Syntax.parse_spans;


# 56d4bbc1 09-Aug-2014 wenzelm <none@none>

tuned comments;


# b3f63c64 24-Jul-2014 wenzelm <none@none>

make SML/NJ happy;


# c30393f8 24-Jul-2014 wenzelm <none@none>

less authentic SHA1.digest: trust Scala side on blobs and avoid re-calculation via Foreign Language Interface, which might be a cause of problems;


# a02b9bf7 23-Jul-2014 wenzelm <none@none>

avoid redundant data structure;


# 6ea51c65 23-Jul-2014 wenzelm <none@none>

more explicit discrimination of empty nodes -- suppress from Theories panel;


# 863cbe74 30-Apr-2014 wenzelm <none@none>

some support for session-qualified theories: allow to refer to resources via qualified name instead of odd file-system path;


# f5860017 07-Apr-2014 wenzelm <none@none>

simplified blob again (amending 1e77ed11f2f7): only store file node name, i.e. the raw editor file name;
more liberal hyperlink to files, allow hyperlinks within editor files independently of the (POSIX) file-system;


# 4995890f 07-Apr-2014 wenzelm <none@none>

separate file_node vs. file_path, e.g. relevant on Windows for hyperlink to the latter;


# 7216e79c 18-Mar-2014 wenzelm <none@none>

clarifed module name;

--HG--
rename : src/Pure/Thy/thy_load.ML => src/Pure/PIDE/resources.ML
rename : src/Pure/Thy/thy_load.scala => src/Pure/PIDE/resources.scala
rename : src/Tools/jEdit/src/jedit_thy_load.scala => src/Tools/jEdit/src/jedit_resources.scala


# b1a4a8d0 28-Feb-2014 wenzelm <none@none>

tuned comment;


# 682a0314 28-Feb-2014 wenzelm <none@none>

tuned signature;


# ae44984e 27-Feb-2014 wenzelm <none@none>

store blobs / inlined files as separate text lines: smaller values are more healthy for the Poly/ML RTS and allow implicit sharing;
integrity check of SHA1 digests produced in Scala vs. ML;
tuned signature;


# b07919c3 22-Nov-2013 wenzelm <none@none>

clarified node edits sent to prover -- Clear/Blob only required for text edits within editor;


# 695027ec 22-Nov-2013 wenzelm <none@none>

more total master_directory -- NB: this is used outside command transactions (see also 92961f196d9e);


# d544fe6c 20-Nov-2013 wenzelm <none@none>

load files that are not provided by PIDE blobs;
uniform resolve_files via Command.read;


# 884c6561 19-Nov-2013 wenzelm <none@none>

maintain blobs within document state: digest + text in ML, digest-only in Scala;
resolve files for command span, based on defined blobs;
tuned;


# d003cd1e 19-Nov-2013 wenzelm <none@none>

proper theory name vs. node name;


# 3776843e 18-Nov-2013 wenzelm <none@none>

maintain document model for all files, with document view for theory only, and special blob for non-theory files;


# a7b3c8cc 05-Aug-2013 wenzelm <none@none>

tuned signature -- more uniform treatment of overlays as command mapping;


# 4b8337f1 02-Aug-2013 wenzelm <none@none>

support print functions with explicit arguments, as provided by overlays;


# c106f8f8 02-Aug-2013 wenzelm <none@none>

maintain overlays within node perspective;
tuned signature;


# 9cb3c04f 30-Jul-2013 wenzelm <none@none>

simplified / clarified execution priority: auto prints << 0, proofs < 0, eval = 0, print_state = 1;


# 0bad3114 30-Jul-2013 wenzelm <none@none>

allow explicit indication of required node: full eval, no prints;


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

recovered delay for Document.start_execution (see also 627fb639a2d9), which potentially improves throughput when many consecutive edits arrive;


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

more timing;


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

more timing;
tuned -- Execution.is_running always holds due to immediate start;


# 892b16c3 30-Jul-2013 wenzelm <none@none>

de-assign execs that were not registered as running yet -- observe change of perspective more thoroughly;


# dd819cea 29-Jul-2013 wenzelm <none@none>

traverse node on change of "required" state;


# f8ddd539 29-Jul-2013 wenzelm <none@none>

keep memo_exec execution running, which is important to cancel goal forks eventually;
run as nested worker task to keep main group valid, even after cancelation of removed subgroups;
do not memoize interrupt, but absorb it silently in main execution;
Goal.purge_futures: rough sanity check of group status;


# 0c15adfb 29-Jul-2013 wenzelm <none@none>

maintain explicit execution frontier: avoid conflict with former task via static dependency;
start execution immediate after assignment, to keep frontier simple;


# 99612fb3 29-Jul-2013 wenzelm <none@none>

clarified conditions for node traversal;


# 740e0416 29-Jul-2013 wenzelm <none@none>

tuned;


# cbcaf812 29-Jul-2013 wenzelm <none@none>

discontinued notion of "stable" result -- running execution is never canceled;


# aaa008bd 20-Jul-2013 wenzelm <none@none>

document update at high priority -- important;


# 3baee847 20-Jul-2013 wenzelm <none@none>

option editor_execution_priority;


# a6234fc5 15-Jul-2013 wenzelm <none@none>

more careful termination of removed execs, leaving running execs undisturbed;


# ce9161fa 11-Jul-2013 wenzelm <none@none>

clarified execution: maintain running execs only, check "stable" separately via memo (again);
tuned signatures;


# 1cd93b26 12-Jul-2013 wenzelm <none@none>

tuned signature;
tuned comments;


# e2266d97 12-Jul-2013 wenzelm <none@none>

clarified module name;

--HG--
rename : src/Pure/PIDE/exec.ML => src/Pure/PIDE/execution.ML


# 75db5727 11-Jul-2013 wenzelm <none@none>

more explicit type Exec.context;
eliminated obsolete execution group -- NB: cancelation happens individually for registered execs;


# 16dd1d0b 11-Jul-2013 wenzelm <none@none>

strictly monotonic Document.update: avoid disruptive cancel_execution, merely discontinue_execution and cancel/terminate old execs individually;


# cc101465 11-Jul-2013 wenzelm <none@none>

more abstract types;
tuned signature;


# fcadc4a3 11-Jul-2013 wenzelm <none@none>

tuned;


# 14f7fd0d 11-Jul-2013 wenzelm <none@none>

global management of command execution fragments;
tuned;


# 7753e9d9 10-Jul-2013 wenzelm <none@none>

fully synchronized guard of running execution;
tuned;


# aaa6f862 11-Jul-2013 wenzelm <none@none>

re-assign prints of unchanged eval only -- avoid crash of new_exec;


# a37c8e04 11-Jul-2013 wenzelm <none@none>

tuned -- refrain from odd optimization;


# c6f17066 11-Jul-2013 wenzelm <none@none>

tuned;


# f6979043 09-Jul-2013 wenzelm <none@none>

tuned start_execution: avoid sleep on worker thread;


# 98ef9c39 10-Jul-2013 wenzelm <none@none>

clarified Command.print: update old prints here;


# 3e2345d7 09-Jul-2013 wenzelm <none@none>

produce print_execs assignment earlier during last_common phase (referring to current command_id, not prev);


# 186f3f54 09-Jul-2013 wenzelm <none@none>

more formal type assign_update: avoid duplicate results and redundant update of global State.execs;


# 96559435 05-Jul-2013 wenzelm <none@none>

tuned signature;
tuned comments;


# d5685b89 05-Jul-2013 wenzelm <none@none>

tuned signature;
tuned;


# b7333642 05-Jul-2013 wenzelm <none@none>

clarified type Command.eval;


# 22a7543c 05-Jul-2013 wenzelm <none@none>

tuned signature;


# 328dbab6 05-Jul-2013 wenzelm <none@none>

explicit module Document_ID as source of globally unique identifiers across ML/Scala;


# 4f5ef9b1 04-Jul-2013 wenzelm <none@none>

separate exec_id assignment for Command.print states, without affecting result of eval;
tuned signature;
tuned;


# d82b453f 04-Jul-2013 wenzelm <none@none>

more Command.memo operations;
more explicit types Command.eval vs. Command.print vs. Document.exec;
clarified print function parameters;


# 21cf5b06 04-Jul-2013 wenzelm <none@none>

made SML/NJ happy;


# 8c8c4c90 03-Jul-2013 wenzelm <none@none>

more print function parameters;
check command_visible statically in assignment, instead of dynamically in execution;


# 7e181627 03-Jul-2013 wenzelm <none@none>

tuned;


# 95e44204 03-Jul-2013 wenzelm <none@none>

discontinued odd workaround for some old Poly/ML, which is still supported but of little practical relevance;


# cf240631 03-Jul-2013 wenzelm <none@none>

tuned;


# 53c3351c 03-Jul-2013 wenzelm <none@none>

allow multiple print functions;


# 97f6c86b 03-Jul-2013 wenzelm <none@none>

tuned signature;


# 22226e0f 03-Jul-2013 wenzelm <none@none>

tuned signature;


# e30bf3d2 03-Jul-2013 wenzelm <none@none>

tuned;


# a0dc51b8 27-Feb-2013 wenzelm <none@none>

discontinued obsolete header "files" -- these are loaded explicitly after exploring dependencies;


# 641eea0f 26-Feb-2013 wenzelm <none@none>

discontinued obsolete 'uses' within theory header;


# 2e1647c0 24-Feb-2013 wenzelm <none@none>

simplified Outer_Syntax.read_span: internalized Toplevel.is_ignored;
eliminated separate Outer_Syntax.read_element;


# f3a472ec 13-Jan-2013 wenzelm <none@none>

more sensible order of theory nodes (correspondance to Scala version), e.g. relevant to theory progress;


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

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


# 39018432 17-Oct-2012 wenzelm <none@none>

more official Future.terminate;
tuned signature;


# ba8cdb44 05-Sep-2012 wenzelm <none@none>

eliminated potentially confusing terminology of Scala "layer";

--HG--
extra : rebase_source : 41ab848ec8aa777e906b6bbae5026666f025f458


# 738ead36 02-Sep-2012 wenzelm <none@none>

maintain stable state of node entries from last round -- bypass slightly different Thm.join_theory_proofs;


# d255761c 01-Sep-2012 wenzelm <none@none>

central management of forked goals wrt. transaction id;
clarified stable_exec_id: consider ragular failure as stable;
more robust counting of forked proofs, with global reset after cancellation due to document editing;


# 4613547d 30-Aug-2012 wenzelm <none@none>

refined treatment of forked proofs at transaction boundaries, including proof commands (see also 7ee000ce5390);
stretched meaning of Goal.parallel_proofs to enable future_terminal_proofs in interactive document model, despite its lack for regular forking of proofs;


# 91fcdd2b 30-Aug-2012 wenzelm <none@none>

some support for registering forked proofs within Proof.state, using its bottom context;
tuned signature;


# 69fc4752 30-Aug-2012 wenzelm <none@none>

tuned signature;


# 45aa577d 26-Aug-2012 wenzelm <none@none>

theory def/ref position reports, which enable hyperlinks etc.;
more official header command parsing;


# c64545bb 23-Aug-2012 wenzelm <none@none>

check side-comments of command spans (normally filtered out in Outer_Syntax.toplevel_source);


# 39606e42 11-Aug-2012 wenzelm <none@none>

vacuous execution after first malformed command;


# a80f35c3 10-Aug-2012 wenzelm <none@none>

apply all text edits to each node, before determining the resulting doc_edits -- allow several iterations to consolidate spans etc.;
expand Clear edit before sending to prover;
at most one full reparse of each node;


# dbcda5c4 27-Jul-2012 wenzelm <none@none>

even more permissive approximation of master_dir, which is only required to access external resources ('uses' etc.);


# 3bb93853 07-Aug-2012 wenzelm <none@none>

simplified Document.Node.Header -- internalized errors;


# 51d5ff89 20-Apr-2012 wenzelm <none@none>

improved interleaving of start_execution vs. cancel_execution of the next update;


# d07d90f8 20-Apr-2012 wenzelm <none@none>

always revisit nodes independently of "required" flag, which may change during editing -- avoid "bloodbath effect" when changing perspective while loading;


# 73a349ba 20-Apr-2012 wenzelm <none@none>

tuned;


# 0caae471 20-Apr-2012 wenzelm <none@none>

builtin timing for main operations;


# 35b92c53 11-Apr-2012 wenzelm <none@none>

tuned;


# c0dd00e5 11-Apr-2012 wenzelm <none@none>

just one dedicated execution per document version -- NB: non-monotonicity of cancel always requires fresh update;
explicit terminate_execution;
tuned source structure;


# c8f18736 10-Apr-2012 wenzelm <none@none>

tuned future priorities: print 0, goal ~1, execute ~2;


# 3f45ee7d 09-Apr-2012 wenzelm <none@none>

more explicit last exec result;


# 7cb5e4b9 09-Apr-2012 wenzelm <none@none>

dynamic propagation of node "updated" status, which is required to propagate edits and re-assigments and allow direct memo_result;
discontinued odd "touched" field -- check given edits directly;


# 7bcfd433 09-Apr-2012 wenzelm <none@none>

tuned;


# e8662936 09-Apr-2012 wenzelm <none@none>

simplified Future.cancel/cancel_group (again) -- running threads only;
more robust update/cancel_execution: full join_tasks of group before exec state assignment;
tuned signature;


# 0e1b8136 07-Apr-2012 wenzelm <none@none>

added static command status markup, to emphasize accepted but unassigned/unparsed commands (notably in overview panel);


# 46d1ac41 07-Apr-2012 wenzelm <none@none>

explicit checks stable_finished_theory/stable_command allow parallel asynchronous command transactions;
tuned;


# 40c795bc 06-Apr-2012 wenzelm <none@none>

discontinued obsolete last_execs (cf. cd3ab7625519);


# d793b077 05-Apr-2012 wenzelm <none@none>

stop node execution at first unassigned exec;


# 7f819834 06-Apr-2012 wenzelm <none@none>

discontinued Document.update_perspective side-entry (cf. 546adfa8a6fc) -- NB: re-assignment is always necessary due to non-monotonic cancel_execution;


# 089bfce9 05-Apr-2012 wenzelm <none@none>

more scalable execute/update: avoid redundant traversal of invisible/finished nodes;
tuned;


# bcaffcb9 05-Apr-2012 wenzelm <none@none>

less ambitious memo_eval, since memo_result is still not robust here;


# b8d5218a 05-Apr-2012 wenzelm <none@none>

less aggressive discontinue_execution before document update, to avoid unstable execs that need to be re-assigned;


# ac32b409 05-Apr-2012 wenzelm <none@none>

more explicit memo_eval vs. memo_result, to enforce bottom-up execution;
edit of perspective touches node superficially, to ensure revisit after update;


# 9ff913ff 05-Apr-2012 wenzelm <none@none>

Command.memo including physical interrupts (unlike Lazy.lazy);
re-assign unstable exec, i.e. reset interrupted transaction;
node result as direct exec -- avoid potential interrupt instability of Lazy.map;


# acb428fa 05-Apr-2012 wenzelm <none@none>

tuned;


# ff0e5020 04-Apr-2012 wenzelm <none@none>

tuned -- NB: get_theory still needs to apply Lazy.force due to interrupt instabilities;


# 808b544d 04-Apr-2012 wenzelm <none@none>

separate module for prover command execution;


# 2a138fb8 04-Apr-2012 wenzelm <none@none>

tuned;


# 96353b1d 20-Mar-2012 wenzelm <none@none>

minimalistic support for remote URLs: no master dir here;


# 3aa129e0 16-Mar-2012 wenzelm <none@none>

define keywords early when processing the theory header, before running the body commands;


# 870593bf 15-Mar-2012 wenzelm <none@none>

declare command keywords via theory header, including strict checking outside Pure;


# 97236904 15-Mar-2012 wenzelm <none@none>

declare keywords as side-effect of header edit;
parse_command span is now lazy instead of future, to happen synchronously after header edit in new_exec (before execution);


# 06f1ad80 14-Mar-2012 wenzelm <none@none>

some support for outer syntax keyword declarations within theory header;
more uniform Thy_Header.header as argument for begin_theory etc.;


# bda60719 13-Mar-2012 wenzelm <none@none>

clarified command state -- markup within proper_range, excluding trailing whitespace;


# 39faeeb8 12-Mar-2012 wenzelm <none@none>

refined define_command vs. run_command: static tokenization vs. dynamic parsing, to increase the chance that the proper transaction is run after redefining commands (NB: requires slightly more space and time for document state);


# 78fc3203 01-Mar-2012 wenzelm <none@none>

clarified document nodes (full import graph) vs. node_status (non-preloaded theories);
tuned;


# cc9cbc32 29-Nov-2011 wenzelm <none@none>

clarified Time vs. Timing;

--HG--
rename : src/Pure/General/timing.scala => src/Pure/General/time.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


# 5cad7472 18-Sep-2011 wenzelm <none@none>

explicit master_dir as part of header -- still required (for Cygwin) since Scala layer does not pass file content yet;


# 8c9253af 07-Sep-2011 wenzelm <none@none>

no print_state for final proof commands, which return to theory state;


# 22de73b8 03-Sep-2011 wenzelm <none@none>

discontinued predefined empty command (obsolete!?);


# a64b65e0 03-Sep-2011 wenzelm <none@none>

discontinued global execs: store exec value directly within entries;
simplified entries: no extra copy of command_id;


# b3fe366d 03-Sep-2011 wenzelm <none@none>

Document.remove_versions on ML side;


# ca13ad9d 02-Sep-2011 wenzelm <none@none>

less agressive parsing of commands (priority ~1);
join commands just before actual assignment;


# 0fcd8e3d 02-Sep-2011 wenzelm <none@none>

more precise iterate_entries_after if start refers to last entry;
do not assign exec states after bad theory init;
reject illegal theory header after end of theory;


# 575fc15a 02-Sep-2011 wenzelm <none@none>

clarified define_command: store name as structural information;


# 3ada6432 01-Sep-2011 wenzelm <none@none>

amended last_common, if that happens to the very last entry (important to load HOL/Auth, for example);
clarified touch_node: reset result explicitly;


# de3cc9b4 01-Sep-2011 wenzelm <none@none>

more careful treatment of interrupts, to retain them within forked/joined boundary of command transactions;


# 98d3a301 31-Aug-2011 wenzelm <none@none>

explicit running_color;
stronger colors for overview, more transparent colors for status within text;


# 460f442a 31-Aug-2011 wenzelm <none@none>

tuned join_commands: avoid traversing cumulative table;


# b6726d67 27-Aug-2011 wenzelm <none@none>

more precise treatment of nodes that are fully required for partially visible ones;


# dbfcd129 26-Aug-2011 wenzelm <none@none>

tuned signature -- iterate subsumes both fold and get_first;


# a34b1040 26-Aug-2011 wenzelm <none@none>

further clarification of Document.updated, based on last_common and after_entry;
tuned;


# 5eda4de3 26-Aug-2011 wenzelm <none@none>

tuned signature;


# 5593b978 26-Aug-2011 wenzelm <none@none>

improved Document.edit: more accurate update_start and no_execs;
tuned;


# 65e27f63 26-Aug-2011 wenzelm <none@none>

refined document state assignment: observe perspective, more explicit assignment message;
misc tuning and clarification;


# 318e3dcf 25-Aug-2011 wenzelm <none@none>

tuned signature -- emphasize traditional read/eval/print terminology, which is still relevant here;


# 6c3edda9 25-Aug-2011 wenzelm <none@none>

propagate information about last command with exec state assignment through document model;


# f657219a 24-Aug-2011 wenzelm <none@none>

misc tuning and simplification;


# 20da2582 24-Aug-2011 wenzelm <none@none>

tuned pri: prefer purging of canceled execution;


# a38f29c4 24-Aug-2011 wenzelm <none@none>

tuned Document.node: maintain "touched" flag to indicate changes in entries etc.;


# 3e5b4478 24-Aug-2011 wenzelm <none@none>

misc tuning and simplification;


# bf6be5cf 24-Aug-2011 wenzelm <none@none>

ignore irrelevant timings;


# d2ae650f 24-Aug-2011 wenzelm <none@none>

print state only for visible command, to avoid wasting resources for the larger part of the text;


# 4c2c4b69 24-Aug-2011 wenzelm <none@none>

update_perspective without actual edits, bypassing the full state assignment protocol;
edit_nodes/Perspective: do not touch_descendants here;
propagate editor scroll events via update_perspective;
misc tuning;


# 7dedf678 23-Aug-2011 wenzelm <none@none>

tuned;


# 32ccb979 23-Aug-2011 wenzelm <none@none>

some support for toplevel printing wrt. editor perspective (still inactive);


# 1fe53e5f 22-Aug-2011 wenzelm <none@none>

propagate editor perspective through document model;


# dce0667a 22-Aug-2011 wenzelm <none@none>

some support for editor perspective;


# d049bd7b 20-Aug-2011 wenzelm <none@none>

refined Graph implementation: more abstract/scalable Graph.Keys instead of plain lists -- order of adjacency is now standardized wrt. Key.ord;


# b712c530 20-Aug-2011 wenzelm <none@none>

added Future.joins convenience;
clarified Future.map: based on Future.cond_forks;


# 94c87949 19-Aug-2011 wenzelm <none@none>

tuned;


# 00130565 19-Aug-2011 wenzelm <none@none>

tuned signature (again);
tuned;


# 402b82dc 19-Aug-2011 wenzelm <none@none>

tuned signature -- treat structure Task_Queue as private to implementation;


# f5c76e46 19-Aug-2011 wenzelm <none@none>

refined Future.cancel: explicit future allows to join actual cancellation;
Document.cancel_execution: join nested future groups as well;


# 7a7b20f5 18-Aug-2011 wenzelm <none@none>

more precise treatment of exception nesting and serial numbers;


# 8876e929 18-Aug-2011 wenzelm <none@none>

more careful treatment of exception serial numbers, with propagation to message channel;


# fc107ff5 17-Aug-2011 wenzelm <none@none>

more systematic handling of parallel exceptions;
distinguish exception concatanation EXCEPTIONS from parallel Par_Exn;


# 259e6f3a 16-Aug-2011 wenzelm <none@none>

workaround for Cygwin, to make it work in the important special case without extra files;


# 226f9fff 16-Aug-2011 wenzelm <none@none>

more robust treatment of node dependencies in incremental edits;


# 4911b352 16-Aug-2011 wenzelm <none@none>

use full .thy file name as node name, which makes MiscUtilities.resolveSymlinks/File.getCanonicalPath more predictable;
more robust treatment of node dependencies;
misc tuning;


# 6dbf2f04 15-Aug-2011 wenzelm <none@none>

touch descendants of edited nodes;
more precise handling of Graph exceptions;


# 069333d8 15-Aug-2011 wenzelm <none@none>

parellel scheduling of node edits and execution;


# d913d68c 15-Aug-2011 wenzelm <none@none>

tuned error message;


# d60a8b44 15-Aug-2011 wenzelm <none@none>

retrieve imports from document state, with fall-back on theory loader for preloaded theories;
misc tuning;


# fcdfcedd 15-Aug-2011 wenzelm <none@none>

explicit check of finished evaluation;


# 6c5ce4c0 15-Aug-2011 wenzelm <none@none>

refined Document.edit: less stateful update via Graph.schedule;
clarified node result -- more direct get_theory;
clarified Document.joint_commands;


# ab7eb9c4 15-Aug-2011 wenzelm <none@none>

simplified exec: eliminated unused status flag;


# a9635b14 13-Aug-2011 wenzelm <none@none>

simplified Toplevel.init_theory: discontinued special master argument;


# 424e1a73 13-Aug-2011 wenzelm <none@none>

provide node header via Scala layer;
clarified node edit Clear: retain header information;
run_command: node info via document model, error handling within transaction;
node names without ".thy" suffix, to coincide with traditional theory loader treatment;


# 7ec8339a 13-Aug-2011 wenzelm <none@none>

clarified node header -- exclude master_dir;


# 7353e66f 13-Aug-2011 wenzelm <none@none>

maintain node header;
misc tuning and clarification;


# 1e28a7e4 12-Aug-2011 wenzelm <none@none>

clarified document model header: master_dir (native wrt. editor, potentially URL) and node_name (full canonical path);


# e18bb4f5 11-Aug-2011 wenzelm <none@none>

uniform treatment of header edits as document edits;


# 6534ebd0 11-Aug-2011 wenzelm <none@none>

explicit datatypes for document node edits;


# 8c3c55ef 10-Aug-2011 wenzelm <none@none>

future_job: explicit indication of interrupts;


# 25118ed6 11-Jul-2011 wenzelm <none@none>

tuned signature -- corresponding to Scala version;


# 2c08f9cd 09-Jul-2011 wenzelm <none@none>

propagate header changes to prover process;
simplified Document case classes;
Document.State.assignments: indexed by Version_ID;


# cb968750 08-Jul-2011 wenzelm <none@none>

moved global state to structure Document (again);


# cb6b88ef 05-Jul-2011 wenzelm <none@none>

get theory from last executation state;
tuned error messages;


# f07f6f05 05-Jul-2011 wenzelm <none@none>

clarified cancel_execution/await_cancellation;


# 75a95a19 02-Jul-2011 wenzelm <none@none>

tuned;


# bfaad084 11-Apr-2011 wenzelm <none@none>

more permissive run_command: identity execution for empty toplevel, e.g. after malformed theory header;


# 8b04ee36 20-Mar-2011 wenzelm <none@none>

structure Timing: covers former start_timing/end_timing and Output.timeit etc;
explicit Timing.message function;
eliminated Output.timing flag, cf. Toplevel.timing;
tuned;


# ea3105a6 31-Jan-2011 wenzelm <none@none>

tuned signature;
tuned vacous forks;


# dbeb61d4 31-Jan-2011 wenzelm <none@none>

support named tasks, for improved tracing;


# a6997b1f 31-Jan-2011 wenzelm <none@none>

more direct Future.bulk, which potentially reduces overhead for Par_List;
tuned signature;


# 72e1a677 26-Jan-2011 wenzelm <none@none>

cancel document execution before editing, to improve reactivity on systems with few cores;


# 9f413dd7 25-Jan-2011 wenzelm <none@none>

singleton (sequential) execution, to avoid race conditions in theory loader state (e.g. when multiple independent theories import the same theory);


# 2ec982f3 25-Jan-2011 wenzelm <none@none>

workaround for odd x86_64 problem in Poly/ML 5.4.0 (actually SVN 1151?), which causes unexpected nontermination of Isabelle/Scala document editing;


# 249eba42 13-Jan-2011 wenzelm <none@none>

full theory path enables loading parents via master directory and keeps files strictly separate;


# 9d602311 14-Nov-2010 wenzelm <none@none>

clarified interact/print state: proof commands are treated as in TTY mode to get full response;


# 61fbfa65 13-Nov-2010 wenzelm <none@none>

always print state of proof commands (notably "qed" etc.);


# 9559edc2 13-Nov-2010 wenzelm <none@none>

await_cancellation in the main thread, independently of the execution futures, which might get interrupted or be absent after node deletetion;


# 78914068 11-Nov-2010 wenzelm <none@none>

more precise treatment of deleted nodes;


# 320ae876 09-Nov-2010 wenzelm <none@none>

added general Synchronized.counter convenience;


# 8caad377 06-Nov-2010 wenzelm <none@none>

continue after failed commands;


# 12467951 06-Nov-2010 wenzelm <none@none>

explicit "timing" status for toplevel transactions;


# e1848c69 06-Nov-2010 wenzelm <none@none>

tuned;


# 94886787 15-Sep-2010 wenzelm <none@none>

Document.async_state: some attempts to make this more robust wrt. cancelation of the main transaction -- avoid confusing feedback about pending forks;


# 7ab16ce6 09-Sep-2010 wenzelm <none@none>

refined Runtime.toplevel_error/Document.run_command: let interrupts pass unhindered;


# ad727922 09-Sep-2010 wenzelm <none@none>

more abstract treatment of interrupts in structure Exn -- hardly ever need to mention Interrupt literally;


# 0c97de14 31-Aug-2010 wenzelm <none@none>

moved Toplevel.run_command to Pure/PIDE/document.ML;
eliminated aliases of exception Toplevel.TERMINATE and Toplevel.EXCURSION_FAIL;
tuned signatures;


# b9e37818 30-Aug-2010 wenzelm <none@none>

tuned;


# 9ba1fbcb 17-Aug-2010 wenzelm <none@none>

tune;


# b4bfba40 17-Aug-2010 wenzelm <none@none>

added functor Linear_Set, based on former adhoc structures in document.ML;
Linear_Set.delete_after (ML): actually delete table entries;
Scala Linear_Set: clarified exceptions, according to ML version;
simplified Document.node using Linear_Set;
ML Document.edit: refer to start via NONE instead of no_id, according to Scala version;


# aca7d737 15-Aug-2010 wenzelm <none@none>

document commands: maintain transition as future (wrt. potentially slow Outer_Syntax.prepare_command), refrain from second Toplevel.put_id;


# a239923f 15-Aug-2010 wenzelm <none@none>

renamed create_id to new_id;


# ab03f51d 15-Aug-2010 wenzelm <none@none>

more explicit / functional ML version of document model;
tuned;


# 30347bc0 14-Aug-2010 wenzelm <none@none>

more basic Markup.parse_int/print_int (using signed_string_of_int) (ML);
added convenient Markup.Int/Long objects (Scala);
simplified "assign" message format -- explicit version id;
misc tuning and simplification;


# 5de80cbe 14-Aug-2010 wenzelm <none@none>

tuned;


# 59aa9793 12-Aug-2010 wenzelm <none@none>

clarified "state" (accumulated data) vs. "exec" (execution that produces data);
generic type Document.id (ML) / Document.ID;


# 991ea1c1 11-Aug-2010 wenzelm <none@none>

represent document ids by (long) int, to benefit from the somewhat faster Inttab in ML (LinearSet in Scala is invariably indexed by native object ids);


# ef07e3b5 05-Aug-2010 wenzelm <none@none>

simplified/refined document model: collection of named nodes, without proper dependencies yet;
moved basic type definitions for ids and edits from Isar_Document to Document;
removed begin_document/end_document for now -- nodes emerge via edits;
edits refer to named nodes explicitly;