views:

35

answers:

1

As the title suggests I am wondering what the relationship between these two programming concepts are. Does a certain type system (static / dynamic) lend itself to a certain type of scoping (lexical / dynamic), or are these independent language choices?

+1  A: 

Static typing doesn't work all that well with dynamic scoping since the variable binding is resolved at runtime. It's possible but it would be unwieldy, since the type system would have to type free variables somehow, probably by examining bound ones. Basically, you couldn't declare two different variables of the same name but different type. Strong and weak typing will also come into play. I'm still pondering what form a static, weakly typed, dynamically scoped language might take, assuming it's possible.

Lexical scoping is paired with both static and dynamic typing.

outis