On 28/04/14 04:14, Makarius wrote:
> Are there any remaining uses of Proof General, e.g. in the situation of
current
> Isabelle/5b6f4655e2f2 ?
I'm mostly on Isabelle/jEdit now, but I do delve back into Isabelle/Emacs (is
that the current
terminology for this creature?) every now and then. My reasons are mostly
predictable execution, as
I can control what the prover is up to with explicit stepping forwards and
backwards. I can probably
achieve the same result toggling continuous checking on/off in Isabelle/jEdit,
but haven't invested
the time in modifying my workflow. I've also encountered the problems discussed
in other threads of
the Isabelle/jEdit GUI locking up when some tactic is looping and the JVM heap
being exhausted with
no indication from the UI. However, if PG support disappeared entirely I
wouldn't shed a tear.
Something which used to be a driving factor for me, but no longer is:
Isabelle/Emacs is capable of
running on underpowered machines which do not have enough resources to run
Isabelle/jEdit. This is
not a good reason for maintaining legacy support, but there may be users in
this situation.
On 28/04/14 06:10, Makarius wrote:
On Sun, 27 Apr 2014, Manuel Eberl wrote:
I am not, as it were, a user of Proof General anymore; however, I would
like, if I may, to point out one thing that annoys me in jEdit and that
was, in my opinion, better in Proof General: the handling of
abbreviations for Unicode characters.
Please not again this talk about "jEdit". What you mean is Isabelle/jEdit,
which is the default
Prover IDE of Isabelle these days.
The difference really matters, because jEdit (the text editor) has many
different ways for
abbreviations, completion etc. (You could also add various input methods of
the Java platform, or
the operating system.)
In Isabelle/jEdit (the Prover IDE), I had varying default mechanisms for that
over the years. The
present one (in Isabelle/5b6f4655e2f2) is quite advanced, but also quite
complex, not to say
complicated. In the coming weeks and months it needs to be polished for the
release, but there will
be no further changes of the basic approach, as far as I can forsee.
It is in principle also possible to provide completely different completion
plugins, e.g. if someone
wants to imitate the old X-Symbol behaviour precisely. jEdit is a very
flexible text editor, and
Isabelle/jEdit a powerful Prover IDE, which happens to provide certain defaults
out of the box.
The current behaviour with “immediate completion” in jEdit is already a
great improvement over having to press “return” or “tab” every time one
wants to use an abbreviation, but one problem that remains is the fact
that jEdit performs the insertion of the character as soon as there is
only one character of that name left, which often leads to somewhat
unpredictable results – for instance, typing “\sigma” results in “σma”.
That in isolation is predictable: the completion happens when the result is
unique, and that notion
of uniqueness does not change dynamically. That is the behaviour of
Isabelle2013-2, though, since
the new semantic completion introduces a "language context" that sometimes
introduces
non-determinism of a different kind, but not the above.
I would prefer a solution that is more suited to my style of typing
“\sigma” and immediately getting “σ”, like in Proof General.
Here you merely need to train your fingers for the exact amount of prefix
required for some symbol.
If that does not work, you can leave the immediate completion off (which is the
default). "Like in
Proof General" means just the 4.x line, because that mechanism was quite
different until 3.x, when I
was still using Proof General myself.
Another problem is that some abbreviations, like “==”, are not automatically
replaced since there
are several possibilities.
That is on purpose, to avoid other odd effects. Very ambitious users can
specify their own
abbreviations in $ISABELLE_HOME_USER/etc/symbols, and see themselves how to
balance the various
possibilities of:
(1) single-character abbreviations, e.g. "%"
(2) unique abbreviations, e.g. "-->"
(3) ambiguous abbrevations, e.g. "=="
Note that "==" is rare in practice anyway, mostly for 'abbreviation' within the
logical environment,
which does not happen so often. Unless you are using old-style definitions
with that Pure
connective instead of the normal HOL one.
Makarius
_______________________________________________
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev
________________________________
The information in this e-mail may be confidential and subject to legal
professional privilege and/or copyright. National ICT Australia Limited accepts
no liability for any damage caused by this email or its attachments.
_______________________________________________
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev