Re: [isabelle-dev] NEWS: Dockable window Find

2013-09-25 Thread Holger Gast
On 09/23/2013 01:25 PM, Makarius wrote:
 On Fri, 20 Sep 2013, Holger Gast wrote:
 
 The layers 2+3 offer extensive means of customization.
 To come back to the above example, one does, of course, not set
 StyleRanges on the SWT widget oneself. One registers with the
 JFace TextViewer's syntax highlighting mechanism and produces
 them on demand -- for instance from the semantic markup offered
 by Isabelle/Scala.
 
 Again: Why not make this practical, and tell Andrius Velykis about it? He has
 already Isabelle/Eclipse that is more than just a proof of concept or a small
 demo, so it deserves to catch up with the quality standards of Isabelle/jEdit.
I'm sure there is no need to explain such elementary facts as
the Eclipse/JFace/SWT layers and their respective responsibilities
to Andrius.

My motivation for outlining the Eclipse stack in some detail here
is quite simply that I wished to motivate people to consider writing
UIs for their own Isabelle applications. Wouldn't it be great
if we saw more C/Java/... verification tools integrated with the
Eclipse CDT/JDT/... environment? (One of my students has shown that it
can be done for C, Java should be even simpler; the basis was
the model layer of I3P.) Such integrations would foster the interest
of practitioners in theorem proving, which would certainly be desirable.

The prerequisite for such developments is, however, that people are not
scared away from UI programming by statements such as all existing
frameworks being crap, their developers being evil companies, and
that it is imperative to read through tons of sources to achieve
one's goals. Depending on the sources introduces tight coupling anyway,
which in turn leads to dependencies on specific versions of the JDK
and ensuing portability issues.

In reality, due to its long history and high practical relevance,
UI programming is one of the best understood areas in software
development. The available tool support (Netbeans' Matisse or
Eclipse's WindowBuilder) makes it very simple to get panels up
quickly. The editing frameworks of both Netbeans and Eclipse are
very mature. As long as one adheres conscientiously to the
contracts stated in the frameworks' documentation, there's
no need to understand the sources.

 Anyway, this thread is going in circles, back to the point where it started 5
 years ago.  The only difference is that Isabelle/jEdit has become real in the
 meantime
Well, there are other differences: I3P has (long since) become a reality
and has actually been used by others, in different environments,
and has even been built upon in Matej Urbas' Diabelli project [1].
Thanks to the well-designed and stable Netbeans infrastructure,
there have never been any portability problems.

I do agree, however, that there are certain circles in the
discussion due to fundamentally different approaches to UI
programming. I hope to have contributed, at least, a second
opinion on the topic as taken from the literature on Swing [2],
Netbeans [3], and Eclipse [4].

Cheers,

Holger

[1] Urbas and Jamnik: Diabelli: a heterogeneous proof system, IJCAR 2012.
[2] Eckstein et al. Java Swing, O'Reilly.
[3] Boudreau et al.: Rich Client Programming: Plugging into
the Netbeans platform, Prentice Hall.
[4] McAffer et al.: Eclipse Rich Client Platform, Addison-Wesley
___
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev


Re: [isabelle-dev] Preferences on Mac OS X

2013-09-25 Thread Makarius

On Wed, 25 Sep 2013, Andrew Boyton wrote:

The fact that Isabelle/jEdit doesn't obey the standard OS X keybindings 
is frustrating but sadly typical for a Java application. For a Mac 
application I expect Command+, to bring up the preferences, but I also 
expect the preferences to be in the menu jEdit - Preferences, like 
every other Mac application. I do accept though that Java applications 
are rarely good citizens on any platform, and so am not surprised.


There is a long story behind Mac OS X + Java not working quite as well as 
on other platforms, and many parties are to blame for it: Sun, Apple, 
Oracle, as well as the average Mac user who is not very active in 
supporting open source projects to get it really right.


I have myself started to use Mac OS X part-time in 2008 to make up for 
this.  Right now I have initiated some activity on the jEdit Sourceforge 
project to get things into shape for Java 7.


To make jEdit a really good citizen on Mac OS X, the inhabitants of that 
platform need to do something.  Neither Apple nor Oracle have the 
resources to make it just work out of the box.



Makarius
___
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev


Re: [isabelle-dev] sledgehammer panel problem

2013-09-25 Thread Makarius

On Tue, 24 Sep 2013, Lawrence Paulson wrote:

my issue has nothing to do with editing the surrounding text. On the 
contrary, it has to do with activating s/h, walking away from the 
computer, and coming back to find that sendback does not work.


Now I understand what you mean.  I've addresses this here:

changeset:   53867:6e69f9ca8f1c
user:wenzelm
date:Wed Sep 25 11:12:59 2013 +0200
files:   src/Pure/PIDE/query_operation.scala 
src/Tools/jEdit/src/find_dockable.scala 
src/Tools/jEdit/src/sledgehammer_dockable.scala

description:
explicit Status.REMOVED, which is required e.g. for sledgehammer to 
retrieve command of sendback exec_id (in contrast to find_theorems, see 
c2da0d3b974d);



Makarius
___
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev


Re: [isabelle-dev] Isabelle/jEdit doesn't process theories

2013-09-25 Thread Makarius

On Wed, 25 Sep 2013, Jasmin Christian Blanchette wrote:


Isabelle/jEdit is currently unwilling to process theories


The file is correctly opened, but nothing is processed -- no imports are 
processed, the theory text has a pink background, etc.


I think you have merely disabled Continuous checking by accident.  So 
this is another instance of the two many modes problem.


These days I have quite often the Theories panel on, where this status is 
directly visible.



Makarius
___
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev


Re: [isabelle-dev] Isabelle/jEdit doesn't process theories

2013-09-25 Thread Jasmin Blanchette
Am 25.09.2013 um 13:03 schrieb Makarius makar...@sketis.net:

 On Wed, 25 Sep 2013, Jasmin Christian Blanchette wrote:
 
 Isabelle/jEdit is currently unwilling to process theories
 
 The file is correctly opened, but nothing is processed -- no imports are 
 processed, the theory text has a pink background, etc.
 
 I think you have merely disabled Continuous checking by accident.  So this 
 is another instance of the two many modes problem.

Indeed, this is exactly what happened. Perhaps it's one of those options that 
should not be remembered across sessions?

This reminds me of this little very similar story:


http://textmate.1073791.n5.nabble.com/New-behavior-moving-cursor-pass-end-of-line-td16179.html

Jasmin

___
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev


Re: [isabelle-dev] NEWS: Dockable window Find

2013-09-25 Thread Makarius

On Wed, 25 Sep 2013, Holger Gast wrote:

In reality, due to its long history and high practical relevance, UI 
programming is one of the best understood areas in software development. 
The available tool support (Netbeans' Matisse or Eclipse's 
WindowBuilder) makes it very simple to get panels up quickly. The 
editing frameworks of both Netbeans and Eclipse are very mature. As long 
as one adheres conscientiously to the contracts stated in the 
frameworks' documentation, there's no need to understand the sources.


This is probably quoted from some marketing brochure.

In reality it works differently: guessing how it actually works, Googling, 
asking on forums, asking of stackexchange, looking through sources (if 
available).


The reason why this strange mainstream stuff like Java and Swing is 
still being used successfully is the amount of explanations found on the 
Web.



I3P has (long since) become a reality and has actually been used by 
others, in different environments, and has even been built upon in Matej 
Urbas' Diabelli project [1].


So is I3P still maintained?  Its latest release is for Isabelle2012 -- 
10.6.2012.


Since I3P uses APIs of Isabelle that were never public, have changed 
several times, and are about to disappear, it is getting more and more 
difficult.



Thanks to the well-designed and stable Netbeans infrastructure, there 
have never been any portability problems.


Netbeans is in the same boat with Swing incompatibilities.  It is actually 
the Netbeans community that is most active to point out to Oracle what is 
still missing to make it half-decent on all platforms.  This is also how 
proper support for Mac OS X Retina displays now got into jdk-7u40 -- only 
with  6 months delay, so really quick for Java standards.  I think they 
did that relatively promptly, because bad visual quality is immediately 
visible to anybody, without understanding general software quality.



Makarius

___
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev


Re: [isabelle-dev] Preferences on Mac OS X

2013-09-25 Thread Makarius

Another Mac user has pointed out full-screen support.

After the recent renewal of Mac OS X activity on the jedit-devel mailing 
list, the MacOSX plugin (e.g. current version 1.3) now works with Java 7.


It already takes care to enable 
com.apple.eawt.FullScreenUtilities.setWindowCanFullScreen for the main 
jEdit view windows. So the top-right window corner has this device to 
switch into full-screen mode in a Apple-conformant manner.



I see this as another indication that I should dismantle 
http://isabelle.in.tum.de/repos/isabelle/file/87941795956c/src/Tools/jEdit/src/osx_adapter.scala 
and bundle the regular MacOSX.jar from jEdit instead.


People hooked on the Isabelle repository can enable the plugin via the 
jEdit Plugin Manager (its full name is Mac OS X Support).


Moving in that direction would mean to trust more the regular jEdit 
development process than trying to make local fixes and patches.



Makarius
___
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev


Re: [isabelle-dev] sledgehammer panel problem

2013-09-25 Thread Makarius

On Wed, 25 Sep 2013, Lawrence Paulson wrote:


I seem to be having problems with this version (f54a8f591e0f).

I tried the usual tricks but I still get compilation errors.

~/isabelle/hfinite/Incompleteness: isabelle jedit -f SyntaxN.thy
### Building Isabelle/Scala ...
GUI/gui.scala:47: error: not found: value split_lines
   if (height  0  split_lines(txt).length  height) text.rows = height
^
Tools/main.scala:140: error: not found: value quote
   error(Bad Isabelle home directory:  + quote(isabelle_home))
   ^
83 errors found
Failed to compile sources
~/isabelle/hfinite/Incompleteness: hg id
f54a8f591e0f tip


I don't see a public Isabelle version of that id -- isn't that your 
project repository?


Maybe your Isabelle clone got messed up locally, as a bad merge produced 
hy hg fetch or hg up.  You can also try to purge Isabelle/lib/classes 
carefully by hand.



Makarius

___
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev


Re: [isabelle-dev] sledgehammer panel problem

2013-09-25 Thread Lawrence Paulson
Sorry 7cec5a4d5532 

Deleting Isabelle/lib/classes did the trick.

Larry

On 25 Sep 2013, at 14:58, Makarius makar...@sketis.net wrote:

 I don't see a public Isabelle version of that id -- isn't that your project 
 repository?
 
 Maybe your Isabelle clone got messed up locally, as a bad merge produced hy 
 hg fetch or hg up.  You can also try to purge Isabelle/lib/classes 
 carefully by hand.

___
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev


Re: [isabelle-dev] Preferences on Mac OS X

2013-09-25 Thread Makarius

On Wed, 25 Sep 2013, Makarius wrote:

I see this as another indication that I should dismantle 
http://isabelle.in.tum.de/repos/isabelle/file/87941795956c/src/Tools/jEdit/src/osx_adapter.scala 
and bundle the regular MacOSX.jar from jEdit instead.


People hooked on the Isabelle repository can enable the plugin via the jEdit 
Plugin Manager (its full name is Mac OS X Support).


Isabelle/c83727c7a510 now bundles the MacOSX plugin -- it is off by 
default to avoid multiplatform confusion.


People connected to the Isabelle repository need to tick the plugin in the 
Plugin Manager -- without download. I think that an update from the 
official jEdit plugin repository will override the bundled one.  This did 
work already some weeks ago with Highlighter.


Moreover Mac users should enable the native system look-and-feel in 
Utilities / Options / Global Options / Appearance, if this is not the case 
already.



This configuration supports many Apple things, like full-screen mode, 
drag-and-drop of text files on the running application window, preferences 
menu, about menu, quit menu and quit action in the dock.


The Isabelle.app for end-users will have both the Mac OS X look-and-feel 
and the plugin enabled by default. It also provides a proper application 
icon. File types via .thy extensions are still missing, though, since the 
underlying appbundler 1.0 by Oracle does not support this yet.



Makarius
___
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev


[isabelle-dev] Isabelle_25-Sep-2013 integration test

2013-09-25 Thread Makarius

Here is another integration test (based on Isabelle/c83727c7a510):

  http://www4.in.tum.de/~wenzelm/test/Isabelle_25-Sep-2013

Many of the contributing components have changed since last time, so it is 
worth checking again if everything fits together on all platforms, and 
nothing important is missing.


Next week or so we start with official release candidates on 
isabelle-users.  Right now it is just everyday business on isabelle-dev.



Makarius
___
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev


Re: [isabelle-dev] NEWS: Dockable window Find

2013-09-25 Thread Andrius Velykis
On Mon, Sep 23, 2013 at 12:25 PM, Makarius makar...@sketis.net wrote:

 The layers 2+3 offer extensive means of customization.
 To come back to the above example, one does, of course, not set
 StyleRanges on the SWT widget oneself. One registers with the
 JFace TextViewer's syntax highlighting mechanism and produces
 them on demand -- for instance from the semantic markup offered
 by Isabelle/Scala.


 Again: Why not make this practical, and tell Andrius Velykis about it? He
 has already Isabelle/Eclipse that is more than just a proof of concept or a
 small demo, so it deserves to catch up with the quality standards of
 Isabelle/jEdit.


I am aware of the syntax highlighting capabilities in Eclipse. In
Isabelle/Eclipse I am interfacing the APIs and frameworks provided by
Eclipse in the majority of cases. In other cases, such as tokenisation, the
Isabelle/Scala libraries are used just like in Isabelle/jEdit (rather than
writing custom rules for Eclipse tokenisers). This is currently implemented
so that a wrapper is provided on top of the Isabelle/Scala tokeniser that
adheres to Eclipse's interfaces.

I have to admit that the quality standards are a bit behind in comparison
to Isabelle/jEdit. However, this is mostly the lack of time spent on adding
specific features rather than having implementation troubles. I am aware of
the `rise` field in StyleRange to render sub-/superscript, it's just that I
haven't gone around to doing the whole control-symbols support yet. There
is an open issue that tracks this though (
https://github.com/andriusvelykis/isabelle-eclipse/issues/8)! I do hope to
achieve parity with Isabelle/jEdit once I am finished with writing up my
PhD thesis, which is hopefully soon enough :)

Isabelle/Eclipse is not there because Eclipse is better or something. I am
not aiming at platform wars - Isabelle/Eclipse has been born out of the
fact that I like Eclipse and I wanted to build tools on top of Eclipse and
Isabelle. I do hope that people who also like Eclipse can contribute or
build upon Isabelle/Eclipse so that the project would grow. Furthermore, I
think that having different UIs on top of Isabelle/Scala can help with
better APIs and more general implementation there.

I would also agree with Holger: writing UIs should be encouraged for formal
tools. The popularity of Eclipse as platform for different IDEs does help
with implementing Isabelle/Eclipse. There are a number of editors to use as
a reference for own implementations. Even if Scala is your language of
choice, there is the Scala IDE code to look for implementation hints (
https://github.com/scala-ide/scala-ide).Furthermore, Eclipse tools such as
Plug-in Spy helps with finding classes that implement features of the IDE.
For example, I can click on a button within my Eclipse and see what is the
class that provides implementation for this button.

In the end, I am still playing catch-up with Isabelle/jEdit as well as all
the goodies in Eclipse (the JDT editor has some nifty features to copy
from). So props to Makarius for developing a nice PIDE and I hope
Isabelle/Eclipse will be as nice in the near future :)

Best regards,
Andrius
___
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev


Re: [isabelle-dev] NEWS: Dockable window Find

2013-09-25 Thread Makarius

On Wed, 25 Sep 2013, Andrius Velykis wrote:

Isabelle/Eclipse is not there because Eclipse is better or something. I 
am not aiming at platform wars - Isabelle/Eclipse has been born out of 
the fact that I like Eclipse and I wanted to build tools on top of 
Eclipse and Isabelle. I do hope that people who also like Eclipse can 
contribute or build upon Isabelle/Eclipse so that the project would 
grow. Furthermore, I think that having different UIs on top of 
Isabelle/Scala can help with better APIs and more general implementation 
there.


These are very good reasons for Isabelle/Eclipse.  The PIDE document model 
of Isabelle/Scala was done in a way to support exactly that.  After some 
years working on the Isabelle/Scala basis and the Isabelle/jEdit front-end 
I had almost gotten the impression that nobody manages to pick up the 
challenge.  Maybe you have noticed the subtle changes in the wording of 
the blurb for Isabelle/jEdit:


  Isabelle2011-1 and Isabelle2012:

  Isabelle/jEdit is an example application within the PIDE
  framework --- it illustrates many of the ideas in a realistic
  manner, ready to be used right now in Isabelle applications.


  Isabelle2013:

  Isabelle/jEdit is the flagship application of the PIDE framework
  --- it is ready for small and large Isabelle applications, for
  beginners and experts alike.


  Isabelle2013-1:

  Isabelle/jEdit is the main example application of the PIDE
  framework and the default user-interface for Isabelle. It is targeted at
  beginners and experts alike.


So the slightly odd marketing talk about flagship has gone (I had 
copied that actually from PG Eclipse). Thanks to Isabelle/Eclipse the 
Isabelle/Scala/PIDE universe is populated by  1 non-trivial applications.



In the end, I am still playing catch-up with Isabelle/jEdit as well as 
all the goodies in Eclipse (the JDT editor has some nifty features to 
copy from). So props to Makarius for developing a nice PIDE and I hope 
Isabelle/Eclipse will be as nice in the near future :)


I had a very productive summer this year, so there are many new things in 
the main example application of PIDE.


I am looking forward to see Isabelle/Eclipse catching up eventually (after 
you have finished your thesis).  It will help to make some general 
progress in the field, such that projects like 
https://itu.dk/research/tomeso/kopitiam/ won't have to go back again to 
the TTY loop, as is done there for Coq (even though the TTY speaks XML 
in Coq 8.4).



Makarius

___
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev


Re: [isabelle-dev] Isabelle_25-Sep-2013 integration test

2013-09-25 Thread Alfio Martini
First impression: amazing!!

Huge thanks a lot for everyone involved in this new release. Isabelle/jEdit
seems like
a brave new world!

All the Best!


On Wed, Sep 25, 2013 at 12:37 PM, Makarius makar...@sketis.net wrote:

 Here is another integration test (based on Isabelle/c83727c7a510):

   
 http://www4.in.tum.de/~**wenzelm/test/Isabelle_25-Sep-**2013http://www4.in.tum.de/~wenzelm/test/Isabelle_25-Sep-2013

 Many of the contributing components have changed since last time, so it is
 worth checking again if everything fits together on all platforms, and
 nothing important is missing.

 Next week or so we start with official release candidates on
 isabelle-users.  Right now it is just everyday business on isabelle-dev.


 Makarius
 __**_
 isabelle-dev mailing list
 isabelle-...@in.tum.de
 https://mailmanbroy.**informatik.tu-muenchen.de/**
 mailman/listinfo/isabelle-devhttps://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev




-- 
Alfio Ricardo Martini
PhD in Computer Science (TU Berlin)
www.inf.pucrs.br/alfio
Lattes:  http://lattes.cnpq.br/4016080665372277
Associate Professor at Faculty of Informatics (PUCRS)
Av. Ipiranga, 6681 - Prédio 32 - Faculdade de Informática
90619-900 -Porto Alegre - RS - Brasil
___
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev