Skip to content

Instantly share code, notes, and snippets.

@xplat
Created May 18, 2011 20:51
Show Gist options
  • Save xplat/979524 to your computer and use it in GitHub Desktop.
Save xplat/979524 to your computer and use it in GitHub Desktop.
agda wishlist
= agda-mode
* C-c C-c should accept an expression and create a with. (does it do this already?) Or there should be another key combo to create a with.
* C-c C-c should work from inside complex expressions, not just when the RHS is a single hole. Variables know where they are bound, and the RHS can be duplicated and specialized.
* A key combo to rename a variable in scope. [should this include occurrences outside the current module? in general that would require an IDE-style project system ...]
* Undo without reload.
* Preview for agsy and null refine. [maybe redundant with the above]
* A key combo to suck the region into a hole.
* A key combo to expand a hole to the next higher node in the syntax tree.
! More consistent yellow highlighting during smart editing without reload.
! Don't create case splits that won't compile. [moar detail]
= records
* Record syntax should work as a block too, not just with explicit brackets.
* Record syntax should allow pattern matching when defining a function.
* Record fields should be in scope when defining further fields.
* Individual record field definitions should be able to have where clauses.
* A record field should be definable by an inline data declaration if its type permits.
= misc syntax
* Mixfix sections: ‘_+ 3’ and ‘3 +_’ should translate to ‘\lambda x -> x + 3’ and ‘_+_ 3’ respectively.
@wjzz
Copy link

wjzz commented Jun 7, 2011

Hello!
I have implemented the first position on this list a few days ago as a part of my improvements to agda-mode project. The current version actually supports 3 flavors of with-expression generating from a goal (one of them performs an automatic pattern matching on the result expression). The code can be found here: https://github.com/wjzz/Agda-mode-improvements
Right now some features are not mentioned in the docs, but I plan to improve them and announce it on the mailing list further this week.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment