Mark,
Yes - I long ago switched over to using Include rather than Import and it not only solves the reference problem but (surprisingly to me) compiles several times faster. I had thought that Import'ed modules would only be recompiled if need be thus saving time.
With due respect to your guru status vs my neophyte status, I'll disagree on the 'better design' bit. Compared to say C#, BlitzMax as it is today -forces- certain approaches and work-arounds that may be contrary to good design. Having to include cross-referenced but otherwise unrelated objects in one source file is an example.
While I'm making a fool of myself in front of the master I'll also disagree with your stated view against get/set accessors (aka properties).
These are so useful that it feels antiquated to work in an OO styled language that does not provide them. I think that you said something like 'linear execution time should be guaranteed' but surely that is up to the type implementor. And the alternative is to create GetXXX/SetXXX methods which can execute as much code as they want anyway if that is what getting or setting a property requires. So the work-around has the same performance implications.
Interfaces are another OO feature that I find highly desirable.
Ditto method overloading.
Ditto (and particularly) constructors with parameters.
I haven't seen anything recently about which if any of the above you plan to address and when. Perhaps some are in the pipeline and others you've considered and don't agree with the need for them.
Do you have any stated plans for the above ? Are you open to discussion about the relative merits ? I'd be more than happy to provide cases where I think they would be of great benefit. Of course you or some other wise head may show me why they are not useful at all in which case I and I suspect many other learners will benefit immensely.
BM is such an advance over B2D but being 'kind of OO' is like being 'kind of pregnant' - You want the other half !
PGF
Yes - I long ago switched over to using Include rather than Import and it not only solves the reference problem but (surprisingly to me) compiles several times faster. I had thought that Import'ed modules would only be recompiled if need be thus saving time.
With due respect to your guru status vs my neophyte status, I'll disagree on the 'better design' bit. Compared to say C#, BlitzMax as it is today -forces- certain approaches and work-arounds that may be contrary to good design. Having to include cross-referenced but otherwise unrelated objects in one source file is an example.
While I'm making a fool of myself in front of the master I'll also disagree with your stated view against get/set accessors (aka properties).
These are so useful that it feels antiquated to work in an OO styled language that does not provide them. I think that you said something like 'linear execution time should be guaranteed' but surely that is up to the type implementor. And the alternative is to create GetXXX/SetXXX methods which can execute as much code as they want anyway if that is what getting or setting a property requires. So the work-around has the same performance implications.
Interfaces are another OO feature that I find highly desirable.
Ditto method overloading.
Ditto (and particularly) constructors with parameters.
I haven't seen anything recently about which if any of the above you plan to address and when. Perhaps some are in the pipeline and others you've considered and don't agree with the need for them.
Do you have any stated plans for the above ? Are you open to discussion about the relative merits ? I'd be more than happy to provide cases where I think they would be of great benefit. Of course you or some other wise head may show me why they are not useful at all in which case I and I suspect many other learners will benefit immensely.
BM is such an advance over B2D but being 'kind of OO' is like being 'kind of pregnant' - You want the other half !
PGF