2016-03-26 8 views
0

Weder Reset <sectionname>. noch Reset <globalconstant>. noch Reset Initial. funktioniert in meinen interaktiven CoqIDE-Sitzungen. Die Botschaft ist`Reset` funktioniert nicht in CoqIDE

Error: Use CoqIDE navigation instead 

Die einzigen Reset s ich an die Arbeit sind Reset Extraction Blacklist. und Reset Extraction Inline. gesehen habe. Unten finden Sie eine Kopie einiger Informationen aus Hilfe> Info. Vielen Dank im Voraus für alle Ideen

**Version information** 

The Coq Proof Assistant, version 8.4pl3 (January 2014) 
Architecture Linux running Unix operating system 
Gtk version is 2.24.23 
This is coqide.opt (opt is the best one for this architecture and OS) 

Antwort

1

Wenn Sie ein Upgrade auf Coq 8.5 durchführen möchten, unterstützt CoqIDE jetzt Reset, Rückgängig, Abbrechen, Neu starten ... Es wird nur eine Warnung ausgegeben, die Sie stattdessen auf die Verwendung von Navigationsbefehlen hinweist.

+0

Danke, ich werde es untersuchen, wenn ich etwas Zeit habe ([8.5] ​​(https://coq.inria.fr/coq-85) hat kein Linux-Installationsprogramm, also sollte ich O'Caml installieren, die Quellen kompilieren usw.) – jaam

+1

Coq-Entwickler empfehlen die Installation über Opam (obwohl es in der Tat bedeutet, aus Quellen zu bauen und Sie müssen sicherstellen, dass das Paket 'liblablgtk2-ocaml-dev' zuerst installiert ist. Eine weitere nicht standardmäßige, aber schnellere Lösung wäre die Installation mit einem alternativen Paketmanager wie [Nix] (http://nixos.org/nix/). Auf den Punkt gebracht: 'curl https://nixos.org/nix/install | sh' dann 'nix-env-i coq-8.5pl1' –

0

Von dem, was ich mich erinnere, die Reset Aktion ist nur der „an die Spitze der Datei gehen und alles vergisst“ Pfeil, derjenige, der die gesamte Datei Backtracking. Diese Nachricht soll seltsames Verhalten verhindern, indem solche Befehle mit IDE-Bindings von CoqIde gemischt werden. Edit after comments: Es gibt kein wirkliches Konzept von "globalen" Variablen in Coq: es ist eine funktionale Programmiersprache. Sie haben Zugriff auf alles, was vor Ihnen definiert wurde. Es kann sich im selben Modul oder in einem importierten Modul befinden.

Wenn Sie eine Top-Level-Deklaration im selben Modul loswerden wollen, ist die einzige Möglichkeit, die ich kenne, die Definition bis zu dem Punkt zu verschieben, an dem sie wirklich benötigt wird. Wenn es sich um ein importiertes externes Modul handelt, besteht die einzige Lösung darin, das Modul nicht zu importieren.

Ich könnte falsch liegen, bitte zögern Sie nicht, mich zu korrigieren. Mein Verständnis ist, dass das Entfernen einer solchen Definition Sie zwingt, alles zu entfernen, was von dieser Definition abhängt, was keine einfache Aufgabe ist.

+0

OK, wie kann ich globale Variablen in meinem Code dann entlassen? Ich dachte, das ist, was 'Reset Initial.' und 'Reset .' waren für – jaam

+0

Was meinst du mit" entlassen "? – Vinz

+0

"löschen", "zurücksetzen" .. – jaam