Prof A Olowofoyeku (The African Chief) wrote:
I agree that we should, if possible, not go off on a frolic of our own and invent something new. Therefore, I suggest that we keep as much BP compatibility as we can. So, why not go for:
procedure Foo; external name 'foo'; { for imports }
OK.
Procedure Bar; name 'bar'; { for exports }
Is this also BP syntax? (Or Delphi?)
This might be more problematic, actually. In the case above, `name' is harmless since `external' is the (conditional) keyword. Here `name' would have to be the keyword. But it's also a very common identifier.
If "name" is not supplied, then GPC could supply sensible defaults: Procedure Foo; external; { GPC supplies "name 'Foo'" automatically) Procedure Bar; { GPC supplies "name 'Bar'" automatically)
As I said, I'd prefer all-lowercase then.
We also need to keep the attributes. So for example, I will need to be able to do something like this: procedure Foo; external name 'foo'; attribute(stdcall); procedure Bar; name 'bar'; attribute(stdcall);
Sure, I have no plans to drop them.
Frank