Leandro Lucarella wrote:
For me the problem with D is dependency control. You don't know what
symbol come from which module. Yes, I know you can do explicit
dependencies in D with static and selective imports, the same you can do
the inverse in other languages with the import module.*-like syntax, but
I think D got the default wrong, I prefer explicit by default.

It's a reasonable point of view, but the motivating thing for me here is making it easy for people to write quick&dirty programs.

With this default, I think complaining when no symbol from an imported
module is used would be better to avoid extra unneeded dependencies. But
I suggested that before and you don't like it.

While that idea has merit, too, I feel it would become rather annoying to people who want to:

    import std.all;

or who use conditional compilation. It would also mess with template definitions, as the symbols in them are not lookup up until they are instantiated.

Reply via email to