Default value expressions for optional and keywords arguments are
evaluated in the scope of the module that defines the function, which
seems to be the Right Thing to do, but I could not find this specified
in the manual. Did I miss it or is it just not spelled out? Asking
because I would submit a correction if it is the intended behavior. Eg

--8<---------------cut here---------------start------------->8---
module Foo
bar=1
foo(a=bar)=a
end

module Baz
import Foo.foo
bar=2
foo2()=foo()
end

Baz.foo2()                        # will then eval to 1
--8<---------------cut here---------------end--------------->8---

Best,

Tamas

Reply via email to