bug-gawk
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [bug-gawk] Feature suggestion - function abs(X)


From: arnold
Subject: Re: [bug-gawk] Feature suggestion - function abs(X)
Date: Wed, 03 Oct 2018 02:05:12 -0600
User-agent: Heirloom mailx 12.4 7/29/08

Hi.

Peter Brooks <address@hidden> wrote:

> Dear Arnold,
>
> I'm not criticising, complaining, or asking you to change your mind --
> just to get that out of the way!

Sure, no problem.

> I've been thinking about your comment. I see the logic of keeping the
> core of awk simple, and I know it's trivially easy to keep adding this
> script, thank you for reminding me of the @include. I think that I
> might start making my own 'mystuff.awk' and use it to include all the
> standard functions.

That is an easy solution.

> I wondered, though, what is the guiding philosophy for the future of
> gawk? Is it to be as faithful to the original awk as possible? Or
> might it develop to be more versatile? For example, I know R is
> wonderful if you want lots of graphics, but it's a bit clumsy if you
> just want a basic statistical summary of a .csv file. Might a future
> awk have an option to calculate standard stats as it loads numeric
> data? just a thought.

So, I haven't formalized the "guiding philosophy" but maybe I should.

There are several goals:

1. Keep the language "awk"; it should not become unrecognizable, even
if programs in it will only run on gawk.

2. Keep the core from getting any larger unless absolutely necessary.
There will be one big change in gawk 5.0, and I hope that that will
be the last major language-visible change.

3. Add new functionality either in awk scripts (-f, @include) or
in loadable extensions written in C or C++ (-l, @load)

4. Extend the core only if some feature is:
   A. Truly desirable
   B. Cannot be done via (2) or (3) above
   C. Can be implemented without too much pain in the core

Combining modules with awk files is a powerful technique. Something
like your stats calculation can be done that way.  Things like that
should not be done automatically, because then there's overhead that
many (most) users don't want or need.

If you're not familiar with the C extensions facility, check it out. :-)

Thanks,

Arnold



reply via email to

[Prev in Thread] Current Thread [Next in Thread]