On Thursday, February 09, 2012 14:57:08 Oliver Plow wrote: > Hello, > > I'm fighting with a strange compiler error. This here compiles and runs > fine: > [snip] > > This is a bit strange for me. Apparently, must be some kind of import > problem importing Foo. But I don't see how ...
It's because you named both your module and type Foo. So, when you import Foo, Foo.z is a module-level symbol in Foo (which does not exist). You'd need to do Foo.Foo.z. If your module were named something completele different (e.g. xyzzy), then Foo.z would then be referring to your class Foo's z variable, and it would work. Normally, it's considered good practice to give modules names which are all lowercase (particularly since some OSes aren't case-sensitive for file operations). Renaming your module to foo should fix your problem. - Jonathan M Davis