lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]



On 26-Jul-04, at 12:43 AM, Diego Nehab wrote:

The Oberon System demonstrated that you can do quite a bit without cyclic import. The fallback usually involves having one module register itself with the other module after importing it. This mechanism is referred to as an upcall in Oberon.

I agree. How often do two or more modules mutually need each other,
*while they are being loaded*?

Practically never, I think. The case where there is a cyclic dependency at runtime is rare, too, but it comes up from time to time. It can be resolved easily if the package table can be created before it is filled in. Having two different interfaces means that no-one is forced to use the one which allows circularity.

The Oberon mechanism, and similar ones, do indeed demonstrate that a wide variety of workarounds are possible. But they do not demonstrate that such workarounds are easy :)