[Agda] problem with refine

Dan Licata drl at cs.cmu.edu
Wed Feb 18 17:56:10 CET 2009


Hi everyone,

I'm having a problem with the 'refine' feature of the emacs mode.  It
may be the same issue as

http://code.google.com/p/agda/issues/detail?id=130&sort=type

but I'm seeing slightly different behavior:

1) When refining a hole containing a name defined in the same file as
the hole, the full path to the name gets inserted, which isn't a valid
way to refer to that name at that point.

2) bound variables are fine, as are names imported from a separate file

Here's an example:

  open import lib.Prelude
  -- contains
  --   data Unit : Set where
  --     <> : Unit
  
  module misc.RefineBug where
  
    data U : Set where
      * : U
  
    test0 : U 
    test0 = {! * !}    -- BAD: refines to misc.RefineBug.*
  
    test1 : U -> U
    test1 u = {! u  !} -- GOOD: refines to u
  
    test2 : Unit
    test2 = {! <> !}   -- GOOD: refines to <> because it's coming from another file


Are there any workarounds until this gets fixed? I was going to show off
Agda's emacs mode to some people, but not without refine... 


Another question: is there a way to set what unicode symbols are used
for forall and -> and \ ?  I have a bunch of code that already uses
\rightarrow.


Thanks!
-Dan


More information about the Agda mailing list