>>>>> "Tom" == Tom Tromey <[EMAIL PROTECTED]> writes:
>>>>> "Akim" == Akim Demaille <[EMAIL PROTECTED]> writes:
Akim> * automake.in (Language): Add attributes `flags', `compile' and
Akim> `compiler'. (&finish_languages, &handle_single_transform_list,
Akim> &handle_dist) (&add_depend2, ®ister_language): Use them and
Akim> the `linker' and `pure' attributes.
Tom> As I've said many times before, I definitely think we want each
Tom> language to be an object of some kind.
Tom> But do we really want objects with public attributes? It seems
Tom> to me that we'd probably rather have objects with public methods
Tom> and private attributes. (For all I know they are the same in
Tom> Perl. Feel free to educate me :-)
I certainly don't have a strong Perl culture, but it is my
understanding that this presentation is the tradition (firstly because
that's the way Class::Struct is built, and secondly because that's
what advocates the advanced Perl programming book from O'Reilly :).
Nevertheless, in the present case, these are not exactly attributes,
which _are_ hidden. It's accessors:
$foo->bar
is a method returning the value of the hidden bar attribute, and
$foo->bar (baz)
sets it.
Anyway, there is a big problem with pushing more language handling in
the class itself, as there is a lot of Automake subs to use. And then
Automake depends upon Automake::Languages which depends upon
Automake. Puke puke puke!