boogie-org / boogie-friends

Tools for interacting with Boogie
46 stars 13 forks source link

feature request: scope interactive verification, akin to /proc: on the command-line #10

Open 0xabu opened 8 years ago

0xabu commented 8 years ago

I'm working on a large project, with lots of included files and lots of moving parts. When I'm working on a single lemma, I often find I'm more productive by running Dafny on the command line with a suitable /proc: parameter to restrict verification to just the lemma I'm working on, rather than using the flycheck mode. It would be really nice if there was an equivalent to /proc in the Emacs mode, so I could say "just verify this lemma as I work on it, and ignore everything else".

BTW, I guess in theory that DafnyServer's caching should obviate the need for this, but it doesn't because:

cpitclaudel commented 8 years ago

Hi there,

Thanks for the detailed request and explanations. It should be quite feasible, though I wonder what a good UI for this would be. One question that might help brainstorm it:

Clément.

0xabu commented 8 years ago

Personally, I'd be happy with a dual of /proc where I can simply type in a pattern. Assuming you want to build something higher-level above that, then yes in my usage it is always a single function/method/lemma at a time, but it would still be nice to keep the raw power of the filter expression available. I guess the ideal goal would be to identify the name of the current function from the cursor location and then verify that, but I don't know if you have all the machinery to enable it (it seems non-trivial to me!).

Thanks for considering this! Andrew

cpitclaudel commented 8 years ago

Maybe the filter is the simplest thing. Given my limited time, a prototype working with just a filter would probably be a good start.

I need to look at the server code and protocol definition to see if they can support this without an extension. IIRC the protocol already supports passing extra arguments.