@Varriount. Looks like a tough question. At first I was tempted to say concepts 
should obey the same scoping rules as variables do. After all, it's hardly a 
surprise that the following snippet prints '10'. 
    
    
    var a = 5
    
    proc tst() =
      var a = 10
      echo a
    
    tst()
    

> g may be considered a Graph in the scope of print_route1, but not in the 
> scope of sub-procedure calls

That made me realize what concepts already obey some kind of dynamic scoping. 
Currently it's limited to modules, though. I don't know is it a good idea to 
expand it to nested procedures. Not everyone is happy with that feature in 
Lisp, afaik. Still it looks so nice and intuitive to be able to parametrize 
_path_ in first example by just writing nested procs. Creating several separate 
modules for such a tiny task looks like a total overkill.

Reply via email to