Ok. With the following code 
    
    
    import macros
    var a = 0
    block:
      var a = "block"
      block:
        var a = true
        block:
          var a = 0.0
          macro m: stmt =
            let s = bindsym"a"
            for n in s: echo n.gettypeinst.lisprepr
            result = newstmtlist()
          m()
    

I got 
    
    
    Sym(float64)
    Sym(bool)
    Sym(string)
    Sym(int)
    

I guess it depends on how you implemented the symbol lookup. Is it guaranteed 
that the first one is the most local one?

Reply via email to