
PeaCoq, a UI for Coq - geal
http://goto.ucsd.edu/~vrobert/coq-en-stock/blog/2015/06/03/introducing-peacoq/
======
rubiquity
I can't think of a more perfect name for a UI library for the Coq programming
language. I'll show myself out now.

~~~
Ptival
I've always wondered why people building vim support for Coq did not name it
Coq-au-vim...

------
chriswarbo
I see that it uses the 'traditional' stepping forwards/backwards like
ProofGeneral and CoqIDE.

Improvements have been made in Coq 1.5 which make this unnecessary: using the
PIDE system (originally from Isabelle) you can now throw the whole file at
Coq, then send it diffs as the user makes edits. No need to rewind, go-to,
etc.

I've used this in jEdit (
[http://coqpide.bitbucket.org/](http://coqpide.bitbucket.org/) ) but there's
also an Eclipse system built on it too (
[https://coqoon.github.io/cav2015/](https://coqoon.github.io/cav2015/) )

~~~
chriswarbo
Of course I meant 8.5, not 1.5!

~~~
Ptival
Thanks, this is very interesting and I'd love to switch to 8.5.

I might wait a little for my benchmarks to be 8.5 ready though!

------
mpu
For hardcore users I don't think this tactic suggestion thing is a good idea,
for example, how does it deal with custom ltac tactics (cf Chlipala's
bedrock)? To prove me wrong one could test the idea on, say, compcert's
development and compute how often the next tactic is among the suggested ones.

On the other hand, One common problem in large proofs is having too many
hypothesis in stock, one super nice extension would be to quantify the
relevance of each and color/display them accordingly, leaving the option to
move the 'tolerance' threshold for display. This relevance metric would have
to be aware if lemmas available (of A -> B is proved by a lemma, and B is the
goal, A is relevant).

My 2 cts.

~~~
Ptival
Indeed trying tactics in general can be unsatisfactory if you 1) don't let
users enrich the set of tactics tried 2) don't let users prevent some things
from being tried.

For your other issue, I am thinking about ways to hide hypotheses in the
editor, without having to clear them in the actual code. This way they are
still here if you need them, but they don't eat some of your precious brain
space while they are irrelevant (huh) to your current work.

Thanks for your 2 cts! Maybe I'll think about this threshold idea now!

------
microcolonel
I use proof general(which also supports Isabelle), but I'm aware that there
are in fact some people in the world who have not seen the light of St.
Ignucius, and for those I'm sure this is plenty cool.

Good job. :)

