[isabelle-dev] Remaining uses of Proof General?
makarius at sketis.net
Mon Apr 28 23:41:47 CEST 2014
On Mon, 28 Apr 2014, Peter Lammich wrote:
> 1. I cannot really control what Isabelle/Jedit processes when, and it
> invests computation power on the meaningless parts of the file
> directly after the point where I am editing. I'm not even convinced
> that it is the right approach to let Isabelle/jEdit's heuristics
> decide when and what it processes, and make user intervention
> impossible at first place
Isabelle/jEdit is indeed about giving up manual control: the system is
moving so fast, that you cannot handle every part of it yourself. It is
like a TGV: you buy a ticket and sit comfortably, while the machine is
moving on its own.
There is nothing really revolutionary about that. Any of the major IDEs
work in a similar manner. I don't claim any orginality on ideas here.
Last year at ITP Rennes, it was very interesting for me to see that the
MSR guys are imitating a similar IDE model in Dafny, although that is a
quite different prover and a quite different platform.
Hopefully the ITP community will make further moves towards serious IDEs,
not just boring copy paste from one buffer into another (where a
sub-ordinate process consumes that).
> (Or even worse, force the user into
> workarounds like inserting semicolons or "end"s behind the current
> editing point, which seems to be common practice among Isabelle/jEdit
I don't know much about common practice. Maybe that is just what people
at TUM do occasionally. There is the general problem here that people are
often too shy or just not capable to explain what they are doing. It is
also difficult to describe verbally how interaction is done, but videos
> 2. In PG, when the processed region reaches the end of a theory file, I
> can be pretty sure that everything is fine with this theory. In
> Isabelle/jEdit, I have to scan the theory status panel manually for
> remaining red or pink bars, which is very inconvenient for large
> projects with hundreds of files.
I can't follow this argument. The Theories panel is one of the things
that is lacking in Proof General. I cannot imagine anymore how big
libraries were managed in the old regime.
What is indeed missing is the infamous "wrap-up" of a session, that I have
explained on the Isabelle mailing lists many times, like what isabelle
build does in batch mode. That is still not there, since the Theories
panel already does a fairly good job, and doing it formally in the IDE
document model is not completely trivial: such things need to be done in
real time on the spot for large libraries.
> Moreover, I find it a bit scary that severe errors related to
> Isabelle/jEdit's document processing model (cf.
> can go undiscovered for several month, although most Isabelle users are
> on Isabelle/jEdit these days. I ask myself: Have they got so used to
> strange behaviours of the IDE that they do not realize severe errors any
That was a severe problem, and I can guess only half of the reasons how
this came about. I would not use that as an argument againts
Isabelle/jEdit, though, since the problem was caused by some unclear bit
of the implementation that had to care about standard mode (PIDE) and
legacy mode (TTY / Proof General) at the same time. If the latter had been
discontinued 2 years ago, we would all be in better shape today.
More information about the isabelle-dev