F
fir
I want to state sometning for clearness:
I mixed here two themes but I want to ask to be
carefull and clearly conscious about which one
of the two is discussed
1.) just present c 'slight linking bug' removal
- it brings no big change to c just removes
the thing I am calling 'slight design bug'
(it is about present c not about other improved c)
2) the secont theme is about 'improved c'
c with a set of improvements of my invention
which make somewhat distinct language of it
(I used to name it 'C2' sometimes but it is
not realy adopted name to that) - the code
you cite belongs to that language and
was illustration on 'how modular programming
could be improved in improved c'
Here you are talking partialy about the first theme
but more about the thing that belongs to the
second to me, (I strongly want not to confuse
first topic with the second)
AD 1
sure, youre right that if you link two
colliding symbols in such way
a->b
a->c //symbol in b & c collide
it will not link, I think that on the
ground of present c it is _okay_
my proposition of 'bug removal' is not
intended to adress such 'correct' conflicts
I was saying that this is not matter
of namespace simulation, just eliminates
'faraway' symbol collisions
It does not allow to import two symbols
of the same name in one module - it is not
intended to do as namespace.
It eliminate just 'symbole space pollution'
where symbols that does not collide on compiler
level do collide on linker level though there
is no reason to that
AD 2
As to that second topic, sure I would like
possibility to use same identifiers in
different modules I would do it such way
probably
module mian;
reaches module_a;
reaches module_b;
reaches module_c;
void main()
{
module_a init(); (*)
module_b init();
module_c init();
module_a run();
module_b run();
module_c run();
}
(*) here init() is just function from
"module_a.obj" (and its corresponding
source file "module_a.c" )
module_a prefix-like name before init() is to
distinguish from which module init should
be called (it is optional)
I mixed here two themes but I want to ask to be
carefull and clearly conscious about which one
of the two is discussed
1.) just present c 'slight linking bug' removal
- it brings no big change to c just removes
the thing I am calling 'slight design bug'
(it is about present c not about other improved c)
2) the secont theme is about 'improved c'
c with a set of improvements of my invention
which make somewhat distinct language of it
(I used to name it 'C2' sometimes but it is
not realy adopted name to that) - the code
you cite belongs to that language and
was illustration on 'how modular programming
could be improved in improved c'
Here you are talking partialy about the first theme
but more about the thing that belongs to the
second to me, (I strongly want not to confuse
first topic with the second)
AD 1
sure, youre right that if you link two
colliding symbols in such way
a->b
a->c //symbol in b & c collide
it will not link, I think that on the
ground of present c it is _okay_
my proposition of 'bug removal' is not
intended to adress such 'correct' conflicts
I was saying that this is not matter
of namespace simulation, just eliminates
'faraway' symbol collisions
It does not allow to import two symbols
of the same name in one module - it is not
intended to do as namespace.
It eliminate just 'symbole space pollution'
where symbols that does not collide on compiler
level do collide on linker level though there
is no reason to that
AD 2
As to that second topic, sure I would like
possibility to use same identifiers in
different modules I would do it such way
probably
module mian;
reaches module_a;
reaches module_b;
reaches module_c;
void main()
{
module_a init(); (*)
module_b init();
module_c init();
module_a run();
module_b run();
module_c run();
}
(*) here init() is just function from
"module_a.obj" (and its corresponding
source file "module_a.c" )
module_a prefix-like name before init() is to
distinguish from which module init should
be called (it is optional)