[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: 79-lang-compile.patch
From: |
Akim Demaille |
Subject: |
Re: 79-lang-compile.patch |
Date: |
10 Apr 2001 20:58:41 +0200 |
User-agent: |
Gnus/5.0808 (Gnus v5.8.8) XEmacs/21.1 (Cuyahoga Valley) |
>>>>> "Tom" == Tom Tromey <address@hidden> writes:
>>>>> "Akim" == Akim Demaille <address@hidden> 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!