Giter Site home page Giter Site logo

proof-pad-classic's People

Contributors

calebegg avatar kyle921 avatar peterreid avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

proof-pad-classic's Issues

Saving/Compiling User Experience

On Windows, the save dialog doesn't filter .lisp files. So, if there were .lisp files in the directory, you don't only see those... conversely, the default is to save the current file without an extension. The same thing happens when compiling: there is no default extension and no indication of what extension to use.

Edit: in the latest version, selecting the "lisp files" filter also excludes directories. This is not the expected behavior.

Parser: Check for redefinition

Example:

(defun prod ...)

(defthm prod ...)

The second prod should be underlined with "This function name is already in use" as the tooltip.

Proof bar out of sync with prover

If you put two commands on the same line, you can get ACL2 out of sync with the proof bar. For example, submit and then undo:

(defun a () 1) (defun b() 2)

When it goes undone, :u is only sent once, leaving a defined.

Make read only code easier to understand

Several people didn't get the grey = read only. Not sure what the best thing to do here would be

I have two things I'd like to experiment with:

  1. Flash the proof bar when clicking on read-only code
  2. (Matthew's idea): Allow the cursor to be placed, then automatically undo if they type anything.

Installation Directory on Windows

The 64-bit version automatically selects C:\Program Files(x86) as the install location. It should choose C:\Program Files\ instead.

Find submenu

Apple HIG says: "Provide a Find submenu, if appropriate. You might want to include a Find submenu if find is important functionality in your app. Typically, a Find submenu contains Find (Command-F), Find Next (Command-G), Find Previous (Command-Shift-G), Use Selection for Find (Command-E), and Jump to Selection (Command-J). If you include a Find submenu, the Find menu item name should not include an ellipsis character."

Automatically ^C after 5 s in :program mode auto-admission

Currently, during the automatic :program mode admission, if an expression goes on for a while (such as if the user types a long or infinite calculation in the definitions area) there's no way to regain control (besides explicitly ^Cing). Anything that takes longer than 5s should just be automatically stopped, since it's probably not helpful.

Event hoisting should add below proof line

For some reason (regression?), hoisted events are getting added to the end of the file instead of the proof line, which results in a different form getting auto- admitted.

Error doesn't show up when hovering below

| x |
|   |
|———|
| m |

m = mouse

When the mouse is here, and you click, the error in the part above gets instantly obscured by the arrow that shows what will admit when you click.

Progress bar for proofs

I think the proof tree is basically useless. Except as a sort of progress bar so you can tell when the proof attempt is going south.

I'm thinking it should have a proved / total fraction displayed somewhere prominently alongside a progress bar. It's kind of crappy because the "progress" bar will probably go backwards sometimes, which isn't really what those are supposed to do.

Well, maybe not, actually; if the progress bar is subdivided into equal segments representing the top level nodes of the proof tree and then further subdivided lower down, like a one dimensional tree map, that could work. I don't know if it would be more or less useful than a progress bar that goes backwards sometimes.

Freeze when opening certain files

I opened a file that contains lots of proofs, some of which don't admit (and instead cause the theorem prover to just spin and spin). The proof pad UI hangs because

  • a form gets sent to Acl.admit that ACL2 will work indefinitely of
  • lots of forms get sent to Acl2.admit
  • the output stream buffer fills up
  • Acl2.admit's flush() hangs

I think it would make sense to change admit so that the worker thread does the flushing as well as the reading-back. That way, the prover might work indefinitely, but the UI will not hang.

Parser: Functions in wrong order

(defun f () (f-helper))
(defun f-helper () ...)

First f-helper should have a tooltip that says "Functions in ACL2 must occur below all the functions they call" or similar.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.