| I was a bit surprised to see this: arc> (def foo () nil)
#<procedure: foo>
arc> (def bar ()
(def foo () nil)
nil)
#<procedure: bar>
arc> (bar)
*** redefining foo
nil
arc>
Apparently the internal foo declaration doesn't shadow the top-level one, it replaces it. I though Arc did standard static binding a la Scheme.. Anyone care to enlighten me on this? |