Comments (6)
By the way, maybe always having a feedback would be nice ?
Printing "OK" or "Success" in emacs when everything goes fine
Printing "ERROR : blabla" in emacs on failure
from fstar-mode.el.
Thanks for that feedback! I'll look at it now.
from fstar-mode.el.
Ok, I see where the problem is from: this is another case of F*'s error messages not being consistent:
Error: Could not parse a valid build configuration from ; Invalid options : unrecognized option '--admit-fsi'
and
heap.fst(14,37-14,40) : Error
Identifier not found: [set]
as opposed to
<input>(5,21-5,32): Name "FStar.All.ML" not found
(notice the extra space in the second message). Also notice that it doesn't point to the current file, but to another file.
from fstar-mode.el.
Ah, I see the actual issue here. The problem is that the F* subprocess exits after that error, but before printing the #done
flag, so the Emacs mode never knows that the message is complete. I'm not sure what I can do about this particular issue; it would seem better for the interactive mode to print one last #done
before exiting :/
from fstar-mode.el.
I looked at the code in a bit more detail, and I think this shouldn't be too hard to fix on the F* side. The problem is that F* exits right after starting with an error message if it can't parse the current document. fstar-mode doesn't know why it exited, and doesn't know what to do with that output.
I can fix it partially on the Emacs side by displaying the remaining output, but it won't be very nice.
Instead, the F* side could be changed to delay looking for dependencies (that's the part that causes a parse) until it receives a "#init" query, or something like this. Then if the parsing failed F* would print the error (as it does now), print a #done-nok
, and exit. F*-mode would process the error message just fine, because it would come in response to an IDE query ("#init").
I think that should be a pretty simple patch (all in FStar.Interactive.fs
).
from fstar-mode.el.
Fixing this would be nice: there are tutorial entries and README tips about this bug.
from fstar-mode.el.
Related Issues (20)
- F* over TRAMP crashes HOT 17
- No company completion HOT 4
- fstar-mode over docker-tramp HOT 5
- fstar-jump-to-definition on a module should jump to the fsti if it exists HOT 1
- Code that typechecks normally from the command line can crash fstar-mode HOT 1
- Cleanup of compiler hacking subp-prover args in fstar-mode.el HOT 6
- `nil` confusion HOT 2
- fslit seems to no longer work very well HOT 6
- can't include file in subdirectory with fslit HOT 4
- Weird display of the highlighted blocks HOT 1
- Highlight sladmit
- c-c c-v verify should ask to save the current file HOT 5
- fstar literate setup problems on Ubuntu 22.04 and emacs 28 HOT 4
- Not all errors going to *Flycheck errors*
- Open not always working HOT 1
- c-c c-r reload better description HOT 3
- elaborate trace mode HOT 2
- Definition lookup works only once
- Using F* remotely, over TRAMP HOT 5
- advancing is missing a bunch of new top-level constructs HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fstar-mode.el.