> I'd take a hack if there was one.

Templates don't introduce a new scope by default. (but they're hygienic, so any 
variables introduced inside the body of the template itself won't conflict with 
ones outside, but that doesn't apply to a block that you passed _to_ the 
template).

So you could do something like this if you wanted:
    
    
    template section(name, code: untyped) =
      code
    
    section foo:
      proc sayHello*() =
        echo "hello!"
    
    section bar:
      proc greet*() =
        sayHello()
    
    
    Run

Reply via email to