Re: Wondering why m4 ignored namespace concept

Daniel Goldman <[email protected]> Tue, 22 Jul 2014 15:42:20 -0700
Newsgroups gmane.comp.gnu.m4.general
Message-ID <[email protected]>
On 7/17/2014 6:33 AM, Eric Blake wrote:
> On 07/17/2014 03:38 AM, Daniel Goldman wrote:
>
> Bah. There are multiple links at
> https://www.gnu.org/software/m4/manual/m4.html#History; I first picked
> the ACM link from 1960, but as you discovered, it is behind a paywall,
> and not actually describing m4.  Then I checked a later link from 1977:
> http://wolfram.schneider.org/bsd/7thEdManVol2/m4/m4.pdf, but forgot to
> update the link in my email compose window.
>

Thanks for trying to send it. Just had no idea what it was. Yes, I had 
seen that before. It doesn't say anything about namespaces, so I don't 
see the connection to my post. But you were at least trying to send me 
something from original development, I appreciate that.


>> My post is to think about what the right
>> method is, even if that can't be changed today. Nothing lasts forever.
>> It would be naive to bet that m4 will necessarily be around in 10 years
>> (or maybe 25, you get the point).
>
> If you are writing a language from scratch, great.  Use the current best
> practices.  But if you are using a language that has a 40 year history,
> don't break it.  Whether or not it will be around in 25 years is hard to
> predict, but since it has lasted nearly 40 years and been standardized
> by POSIX, I seriously doubt it will ever disappear.  There may not be
> much new usage of it, but one thing you learn in computer science is
> that supporting old formats is essential for continuity, even when new
> formats are introduced into the mix.
>

m4 will almost certainly disappear eventually. But this is off topic, 
and unknowable. Again, I am not expecting anything to happen any time 
soon. Just pointing out what I noticed and nobody else had noted before.

>
>> Gawd!!! The desire to rename various
>> builtin macros to begin with m4_ prefix makes my point the language
>> would have been better designed to name them that way in the first
>> place. That's all I'm saying. You could just say "you're right" and move
>> on. I don't see the point in trying to defend the indefensible. :)
>
> Sure - you're right.  Hindsight is 20/20 - if we were designing the
> language today, it would be a lot different, and would probably be
> namespaced consistently off the bat.  But we aren't designing it today.
>   So who cares?  Philosophizing about what could have been only wastes
> time.  It's not like you are posting patches to change all of this

I am not "philosophizing". Please don't use that kind of vague 
pejorative to blow me off. As I originally posted, I am pointing 
something that seems obviously inferior, but which nobody else seems to 
have noted. And the idea that I could "post a patch to change all of 
this" is obviously ridiculous and you know it. I'm already doing plenty 
by bringing this up, and doing systems analysis.

>
>>
>> BTW, why do you say "was to allow modules" (not "is")? Is modules idea
>> thrown out? Is there a list of other ideas for "eventual m4 2.0"?
>
> The problem, as you may have noticed, is lack of developers with enough
> free time to push m4 2.0 to completion.  Unless that changes, m4 2.0 is
> stalled as a set of half-baked patches that need a lot of TLC.
>

Thank you for clarifying that. I'm sorry the development is stalled.

>
> Kludgy is in the eye of the beholder.  But it works.  So it's not worth
> breaking.
>

Yes, kludgy (translate shoddy, inefficient, awkward, inelegant) is in 
the eye of the beholder. I would hope we could all at least agree that 
kludgy is bad. However, I'm not sure that is the case.

Yes, I'm just expressing what my eye beholds. But I think it's perhaps 
more valid than what the eye of someone who has been using m4 for years 
(decades?) beholds. I would suggest the long-term user gets inured to 
awkwardness. We humans (including me) can adapt to just about anything, 
no matter how klunky. I can already see it happening to me. But that 
doesn't make awkward good.

Many new users will just go elsewhere, similar to what I did for many 
years, as I explained in a previous post. They never see the good side 
of m4, they never get that far.

I want m4 to improve. Raphael seriously went off the deep end by 
questioning my honesty and motives. There is no ulterior motive. Why 
does anyone work on open source software? It's just something they are 
interested in doing, for some internal personal reason.

I know few, possibly none, of any changes I might suggest will ever be 
done. That has already been made crystal clear to me. I have already 
stated my acceptance. I am not trying to push you or anyone else to make 
changes. I'm just presenting facts and suggestions. I write and maintain 
software. I appreciate it when users give me suggestions and comments. I 
appreciate it even more when they find something wrong.

BTW, you ignored two simple questions I asked:

1) "BTW, any advantage of renaming over using -P option? I don't see 
any. -P seems lot simpler to me as a workaround."

2) "Is there a list of other ideas for "eventual m4 2.0"?"

Daniel