[PG-devel] PG and Coq ideslave mode

2016-05-05 Thread Paul A. Steckler
I've already mentioned the issue described below to Clément Pit-Claudel and Pierre Courtieu, maybe others on this list have thoughts on it. Proof General is welded to a model of receiving prompts from a prover. After it's received a prompt, PG can send something back to the prover. The ideslave (

Re: [PG-devel] PG and Coq ideslave mode

2016-05-05 Thread Paul A. Steckler
he current implementation to call these functions or the legacy > ones depending on the version of Coq. > > What do you think? > Clément. > > On 2016-05-05 09:48, Paul A. Steckler wrote: >> I've already mentioned the issue described below to Clément Pit-Claudel >

Re: [PG-devel] PG and Coq ideslave mode

2016-05-05 Thread Paul A. Steckler
>> essentially). >> 2. Implement support for these functions using Coq's new API model >> 3. Modify the current implementation to call these functions or the legacy >> ones depending on the version of Coq. >> >> What do you think? >> Clément. >&g

Re: [PG-devel] PG and Coq ideslave mode

2016-05-05 Thread Paul A. Steckler
till seems undesirable to me. -- Paul On Thu, May 5, 2016 at 4:58 PM, Clément Pit--Claudel wrote: > Not entirely clear to me :) I think there'd be some amount of design work > there as well. > > On 2016-05-05 10:39, Paul A. Steckler wrote: >> With that toploop plugin installed o

Re: [PG-devel] PG and Coq ideslave mode

2016-05-06 Thread Paul A. Steckler
gt;>> A plugin introduces a tight coupling between these components. Yes, >>> it's only a plugin, so the scope of the coupling is limited. But it >>> still seems undesirable to me. >>> >>> -- Paul >>> >>> On Thu, May 5, 2016 at 4:58 PM, Clém

Re: [PG-devel] PG and Coq ideslave mode

2016-05-06 Thread Paul A. Steckler
old and the case we wanted to allow > was input coming voluntarily from the prover to PG (think > progress/annotations etc), rather than the other way around. - David > > On 06/05/2016 11:48, Paul A. Steckler wrote: >> Proof General defines a shell mode, proof-shell, and an assoc

Re: [PG-devel] PG and Coq ideslave mode

2016-05-06 Thread Paul A. Steckler
munication mechanism. -- Paul On Fri, May 6, 2016 at 3:51 PM, David Aspinall wrote: > That sounds right (but could lead to confusion!). What I did was to fork a > version of PG and cut it down to something fairly minimal. - D. > > > On 06/05/2016 14:34, Paul A. Steckler wrote: >

Re: [PG-devel] PG and Coq ideslave mode

2016-05-07 Thread Paul A. Steckler
On Sat, May 7, 2016 at 3:33 PM, Clément Pit--Claudel wrote: > I don't think we should give it a different name yet; I think it would create > a lot of confusion. > > We can phrase this differently: what you are currently writing is a library > that implements the protocol spoken by Coq. Ideally,

Re: [PG-devel] PG and Coq ideslave mode

2016-05-07 Thread Paul A. Steckler
A full fork would be problematic, because it would >> loose this ability. >> >> Regarding the other part (coqserver), I think a coqdev thread would be more >> appropriate. >> >> Clément. >> >> On 2016-05-07 02:48, Paul A. Steckler wrote: >>>

Re: [PG-devel] PG and Coq ideslave mode

2016-05-07 Thread Paul A. Steckler
On Sat, May 7, 2016 at 8:05 PM, Clément Pit--Claudel wrote: > I'm all for a cleanup of the PG codebase, of course. But I think we can do it > slightly differently: starting with the current code, we can: > > * Tag a last-known good version (the current HEAD) for obsolete provers > * Remove obsole

[PG-devel] Using sockets instead of shell

2016-05-11 Thread Paul A. Steckler
Per the earlier discussion here, I'm developing a branch (not fork) of PG that operates in two ways, either the old REPL way where the prover offers a prompt, and a new server way, where PG and the prover exchange messages. I'm being coy about whether PG or the prover is the server, due to differen

Re: [PG-devel] Using sockets instead of shell

2016-05-11 Thread Paul A. Steckler
something else. Like a Logging > buffer where xml noise is removed as much as possible. I don't know. > > P. > > > 2016-05-11 11:11 GMT+02:00 Paul A. Steckler : >> Per the earlier discussion here, I'm developing a branch (not fork) of >> PG that operates in two w

Re: [PG-devel] Using sockets instead of shell

2016-05-11 Thread Paul A. Steckler
You mean here the pipes that are created when running Elisp's start-process? It looks like you'd setup a filter function for the Coq process to get its output, and use process-send-string to send input to Coq. I guess that's as easy as, or easier than sending data over sockets. Yes, I'd like to

Re: [PG-devel] Using sockets instead of shell

2016-05-11 Thread Paul A. Steckler
u want to remove it, since >> otherwise lots of text will be accumulated, but in debug mode you can keep >> it, à la comint-mode. >> >> Clément. >> >> On 2016-05-11 05:42, Paul A. Steckler wrote: >>> Elisp has primitives for network reading and writing,

Re: [PG-devel] Using sockets instead of shell

2016-05-11 Thread Paul A. Steckler
You're comparing make-network-process, then, with start-process? When using sockets, coqtop works in a funny way, using two half-duplex sockets. So if you used make-network-process, I think you'd get just one of those sockets, and have to use Elisp's other network facilities to manage the other so

Re: [PG-devel] Using sockets instead of shell

2016-05-11 Thread Paul A. Steckler
#x27;es, actually :) > > You can `cl-define-struct' a pair of network process (and possibly wrap > relevant function to work on pairs of half-channels) for convenience, too. > > Interestingly, you probably don't need a filter function on the two Emacs-> > Coq ones. >

[PG-devel] Coupling of items queue and proof shell

2016-05-12 Thread Paul A. Steckler
As I'm developing a separate server mode for PG, I'm noticing a tight coupling between the queue of items for processing and proof shells, which seems undesirable. To wit, the procedures `proof-extend-queue` and `proof-add-to-queue` are both found in generic/proof-shell.el. Probably there should b

[PG-devel] Proof tree code

2016-05-12 Thread Paul A. Steckler
The code in generic/proof-tree appears to rely on proof shell modes. Is the `prooftree' tool in common use among Coq users? -- Paul ___ ProofGeneral-devel mailing list ProofGeneral-devel@inf.ed.ac.uk http://lists.inf.ed.ac.uk/mailman/listinfo/proofgener

Re: [PG-devel] Coupling of items queue and proof shell

2016-05-12 Thread Paul A. Steckler
On Thu, May 12, 2016 at 6:28 PM, Pierre Courtieu wrote: > This is already the case AFAIK, in pg the queue is processed one > element at a time (waiting for a prompt between each), so in fact > there is a process that reads the queue and process it. No? In generic/proof-shell.el, there is procedur

Re: [PG-devel] Proof tree code

2016-05-13 Thread Paul A. Steckler
Just to note, I'm adding a configuration option to force the use of the existing Emacs mode, so Prooftree will always be available. -- Paul On May 13, 2016 11:08, "Pierre Courtieu" wrote: > 2016-05-13 9:49 GMT+02:00 Hendrik Tews : > > For 2 and 5 I insert additional print commands into the queue

[PG-devel] Coq search blacklist

2016-05-26 Thread Paul A. Steckler
When Proof General starts coqtop, it issues this sequence of commands: -- Add Search Blacklist "Private_" "_subproof". Set Printing Depth 50 . Remove Search Blacklist "Private_" "_subproof". Add Search Blacklist "Private_" "_subproof". -- The Remove/Add are issued from a single PG-internal call to

Re: [PG-devel] PG and Coq ideslave mode

2016-06-11 Thread Paul A. Steckler
one with and one without support for 8.5, we'd > have just one, with an extra compatibility layer inserted between PG and Coq > when using 8.4. > > Cheers, > Clément. > > On 2016-05-05 09:48, Paul A. Steckler wrote: >> I've already mentioned the issu

Re: [PG-devel] PG and Coq ideslave mode

2016-06-11 Thread Paul A. Steckler
On Sat, Jun 11, 2016 at 3:12 PM, Clément Pit--Claudel wrote: > My proposal was to dump the entire proof-shell part, indeed. I agree with you > that it would make everything much easier, and I think that would be nice. > We'd write a semi-working shim to not leave out 8.4 entirely, and drop the

Re: [PG-devel] PG and Coq ideslave mode

2016-06-11 Thread Paul A. Steckler
On Sat, Jun 11, 2016 at 3:59 PM, Clément Pit--Claudel wrote: >> If coqtop works with s-expressions, is the ability to use XML >> maintained? If so, then CoqIDE can still work as it does. If not, >> then CoqIDE is orphaned, yes? Maybe not a great idea to have coqtop >> support two separate protocol

Re: [PG-devel] An update on porting PG to Coq 8.5's new APIs

2016-06-16 Thread Paul A. Steckler
I'm the one who'll be doing the programming on this project. As a long-time consumer of OCaml Weekly News, I'm happy to reciprocate by exposing what APIs are needed. :-) The coqtop XML API concludes each response with a tag. We can probably offer something to indicate when that's happened. -- P

[PG-devel] Span (overlay) structure in PG

2016-06-30 Thread Paul A. Steckler
Hi all, I'm making decent progress on getting PG to work with the Coq XML(ish) protocol. The main stumbling block I'm having is making sure the spans have the correct structure. Those are implemented by Emacs overlays. Can someone explain what the structure of the spans should be, and what

Re: [PG-devel] Span (overlay) structure in PG

2016-07-07 Thread Paul A. Steckler
bly a way to avoid the glueing. > > But with the Stm machinery (do you use it Paul?) it should be much > simpler to deal with spans. Enrico can you say a word on this? > > P. > > > > 2016-06-30 17:40 GMT+02:00 Paul A. Steckler : >> Hi all, >> >> I&#

Re: [PG-devel] Span (overlay) structure in PG

2016-07-08 Thread Paul A. Steckler
On Fri, Jul 8, 2016 at 5:35 AM, Enrico Tassi wrote: > On Fri, Jul 08, 2016 at 10:10:49AM +0200, Pierre Courtieu wrote: >> I think it is available. But I a mnot sure we should reflect async >> proof yet. Let us have PG work as before, then we make the async proof >> queue working. > > As far as I k

Re: [PG-devel] Span (overlay) structure in PG

2016-07-08 Thread Paul A. Steckler
each sentence, as I think you've done in elcoq. -- Paul On Fri, Jul 8, 2016 at 12:23 PM, Clément Pit--Claudel wrote: > I think I got that working fine in elcoq. Did you have a look? > > Clément. > > On 2016-07-07 16:07, Paul A. Steckler wrote: >> It looks like there are is

Re: [PG-devel] Span (overlay) structure in PG

2016-07-09 Thread Paul A. Steckler
2016 at 2:30 AM, Clément Pit--Claudel wrote: > On 2016-07-08 19:06, Paul A. Steckler wrote: >> So when you edit in a buffer, you send an StmCancel messages, you >> get messages for each cancelled state, so you can just mark the >> corresponding overlays appropriately. Yes? > >

Re: [PG-devel] An update on porting PG to Coq 8.5's new APIs

2016-07-26 Thread Paul A. Steckler
itt wrote: > On 2016-06-16 15:44, "Paul A. Steckler" writes: > >> I'm the one who'll be doing the programming on this project. >> >> As a long-time consumer of OCaml Weekly News, I'm happy to reciprocate >> by exposing what APIs are needed. :-)

[PG-devel] Status of PGIP?

2016-07-26 Thread Paul A. Steckler
What is the status of the PGIP code in Proof General? Are there any provers that use the protocol? -- Paul ___ ProofGeneral-devel mailing list ProofGeneral-devel@inf.ed.ac.uk http://lists.inf.ed.ac.uk/mailman/listinfo/proofgeneral-devel

[PG-devel] State button for Coq, needed?

2016-08-08 Thread Paul A. Steckler
I've made some fair headway in getting Proof General working with the coqtop XMLish protocol. So now I'm working on some of the less-central bits for that port. There's a PG button, State, which in the REPL version of PG, sends "Show." to coqtop to request the current goal. I'm thinking this but

Re: [PG-devel] State button for Coq, needed?

2016-08-08 Thread Paul A. Steckler
less-used buttons. After the new PG has had some use, we could assess whether the State button can be scrapped. -- Paul On Mon, Aug 8, 2016 at 12:14 PM, Clément Pit--Claudel wrote: > On 2016-08-08 11:31, Paul A. Steckler wrote: >> I've made some fair headway in getting Proof Gener

Re: [PG-devel] State button for Coq, needed?

2016-08-09 Thread Paul A. Steckler
OK, I've left the State button in, and it's working with the XML protocol. I moved it over a few positions, so that the new Check button is always visible. Thanks for all the feedback. -- Paul On Tue, Aug 9, 2016 at 3:58 AM, Hendrik Tews wrote: > Hi, > > "Paul A. Stec

[PG-devel] Trace, thms buffers

2017-02-01 Thread Paul A. Steckler
I'm doing some code cleanup on my PG/xml branch. Are the trace and thms buffers used at all for Coq? The thms buffer is not even mentioned in the PG manual. -- Paul ___ ProofGeneral-devel mailing list ProofGeneral-devel@inf.ed.ac.uk http://lists.inf.ed.

[PG-devel] Setting to lock buffer?

2017-02-03 Thread Paul A. Steckler
I'm trying to solve an issue with PG/xml: https://github.com/psteckler/ProofGeneral/issues/75 I'm unable to reproduce the issue, I'm supposing because there's a setting I'm missing. Is there a setting in PG that locks a buffer and colors it red? -- Paul ___

[PG-devel] pg-set-span-helphighlights

2017-02-23 Thread Paul A. Steckler
In my PG/xml fork, the Elisp profiler indicates the most expensive procedure is `proof-done-advancing-other' (about 12% of the CPU cycles). Most of the time in that procedure is allotted to `pg-set-span-helphighlights'. That procedure creates a daughter span with a context menu. In vanilla PG, it

Re: [PG-devel] pg-set-span-helphighlights

2017-02-24 Thread Paul A. Steckler
you try to unplug it to see if the speed up is significant? > I guess it is useful only when going back and forth in a script is slow. > P > > Le ven. 24 févr. 2017 à 01:19, Clément Pit--Claudel > a écrit : >> >> On 2017-02-23 17:14, Paul A. Steckler wrote: >> >

Re: [PG-devel] pg-set-span-helphighlights

2017-02-24 Thread Paul A. Steckler
e helphighlight spans (in `proof-script-clear-queue-spans-on-error'); I don't understand why you'd delete just the vanilla spans. The helphighlight spans have modification hooks that delete them. If we reused the vanilla spans, we could add a modification hook that just removes the

Re: [PG-devel] pg-set-span-helphighlights

2017-02-24 Thread Paul A. Steckler
And I can confirm it's the span-making that takes the time. If I set the properties on the existing vanilla span, the time is about the same as just returning nil. On Fri, Feb 24, 2017 at 11:46 AM, Paul A. Steckler wrote: > On Fri, Feb 24, 2017 at 11:12 AM, Clément Pit--Claudel >

Re: [PG-devel] pg-set-span-helphighlights

2017-02-24 Thread Paul A. Steckler
re are helphighlight spans for proofs and sections, so you can hide them. I suppose I'll have to work to restore this functionality. Of course, adding these spans again will take additional run time. -- Paul On Fri, Feb 24, 2017 at 1:28 PM, Clément Pit--Claudel wrote: > Great news :) >

Re: [PG-devel] pg-set-span-helphighlights

2017-02-24 Thread Paul A. Steckler
I claim) of functionality. -- Paul On Fri, Feb 24, 2017 at 2:36 PM, Paul A. Steckler wrote: > I just ran the experiment of setting the properties used in the > helphighlight spans in the vanilla spans. > > All works well, until you try to hide a span. Indeed, the span gets > h

Re: [PG-devel] Supported version of Emacs

2018-11-29 Thread Paul A. Steckler
On Thu, Nov 29, 2018 at 9:35 AM Emilio Jesús Gallego Arias wrote: > In my opinion, it seems very likely that the branch will never reach a > working state; mainly because it would be hard to justify putting time > to fix it when you have other alternatives that allow a much lightweight > and robus

Re: [PG-devel] Supported version of Emacs

2018-11-29 Thread Paul A. Steckler
On Thu, Nov 29, 2018 at 11:16 AM Emilio Jesús Gallego Arias wrote: > As of today, you have coq-serapi[1], which was specifically designed to > make interaction with Emacs easy. That helps a bit for some issues, but I think most of the bugs in the async branch mostly relate to maintaining unstate

Re: [PG-devel] Supported version of Emacs

2018-11-29 Thread Paul A. Steckler
> > That helps a bit for some issues, but I think most of the bugs in the > > async branch mostly relate to maintaining unstated or unknown > > invariants in the implementation. > > Umm, I'm not sure I share that view, I'd dare to say that for a start the > new protocol would allow to drop 90% of t