aboutsummaryrefslogtreecommitdiffstats
path: root/FUTURES
diff options
context:
space:
mode:
Diffstat (limited to 'FUTURES')
-rw-r--r--FUTURES133
1 files changed, 61 insertions, 72 deletions
diff --git a/FUTURES b/FUTURES
index 87fda5df..431ecd1b 100644
--- a/FUTURES
+++ b/FUTURES
@@ -1,108 +1,100 @@
This file lists future projects and enhancements for gawk. Items are listed
in roughly the order they will be done for a given release. This file is
-mainly for use by the developer(s) to help keep themselves on track, please
+mainly for use by the developers to help keep themselves on track, please
don't bug us too much about schedules or what all this really means.
-(An `x' indicates that some progress has been made, but that the feature is
-not complete yet.)
+With the 3.0 release, we are acknowledging that awk is not PERL, nor should
+it become PERL. (To paraphrase Dennis Ritchie, "If you want PERL, you
+know where to get it.")
-For 2.16
-========
-x Move to autoconf-based configure system.
-
-x Research awk `fflush' function.
-
-x Generalize IGNORECASE
- any value makes it work, not just numeric non-zero
- make it apply to *all* string comparisons
+The focus on the future is thus narrowed to performance and functional
+enhancements, with only minor plans for significant new features.
-In 2.17
+For 3.0
=======
-x Allow RS to be a regexp.
+ DONE: Move to autoconf-based configure system.
- RT variable to hold text of record terminator
+ DONE: Allow RS to be a regexp.
- RECLEN variable for fixed length records
+ DONE: RT variable to hold text of record terminator
- Feedback alloca.s changes to FSF
+ DONE: split() with null string as third arg to split up strings
-x Split() with null string as third arg to split up strings
+ DONE: Analogously, setting FS="" would split the input record into
+ individual characters.
-x Analogously, setting FS="" would split the input record into individual
- characters.
+ DONE: Generalize IGNORECASE
+ - any value makes it work, not just numeric non-zero
+ - make it apply to *all* string comparisons
-x Clean up code by isolating system-specific functions in separate files.
+ DONE: Incorporate newer dfa.c and regex.c
- Undertake significant directory reorganization.
+ DONE: Go to POSIX regexps
-x Extensive manual cleanup:
- Use of texinfo 2.0 features
- Lots more examples
- Document all of the above.
+ DONE: Make regex + dfa less dependant on gawk header file includes
-x Go to POSIX regexps
+ DONE: Source code formatting cleaned up and regularized
- Make regex + dfa less dependant on gawk header file includes
+ DONE: Clean up code by isolating system-specific functions in
+ separate files.
- Additional manual features:
- Document posix regexps
- Document use of dbm arrays
- ? Add an error messages section to the manual
- ? A section on where gawk is bounded
- regex
- i/o
- sun fp conversions
+ DONE: General sub function:
+ gensub(pat, sub, global_flag[, line])
+ that return the substituted strings and allow \1 etc.
+ in the sub string.
-For 2.18
-========
- DBM storage of awk arrays. Try to allow multiple dbm packages
+ DONE: Add AWKPATH to ENVIRON if it's not there
- General sub functions:
- edit(line, pat, sub) and gedit(line, pat, sub)
- that return the substituted strings and allow \1 etc. in the sub
- string.
-
- ? Have strftime() pay attention to the value of ENVIRON["TZ"]
-
-For 2.19
-========
- Add chdir and stat built-in functions.
+ DONE: Undertake significant directory reorganization.
- Add function pointers as valid variable types.
+ DONE: Extensive manual cleanup:
+ Use of texinfo 2.0 features
+ Lots more examples
+ Document posix regexps
+ Document all of the above.
- Add an `ftw' built-in function that takes a function pointer.
+In 3.1
+======
+ A PROCINFO array to replace /dev/pid, /dev/user, et al.
- Do an optimization pass over parse tree?
+ Use mmap to read input files on systems that support it.
-For 2.20 or later:
-==================
-Add variables similar to C's __FILE__ and __LINE__ for better diagnostics
-from within awk programs.
+ Use a new or improved dfa.
-Add an explicit concatenation operator and assignment version.
+ Integrate GNU NLS support.
-? Add a switch statement
+ Bring out hooks for NLS support into gawk itself.
-Add the ability to seek on an open file and retrieve the current file position.
+ DBM storage of awk arrays. Try to allow multiple dbm packages.
-Add lint checking everywhere, including check for use of builtin vars.
-only in new awk.
+ Use GNU malloc.
-"restart" keyword
+ Use rx instead of regex.
-Add |&
+ Do a reference card.
-Make awk '/foo/' files... run at egrep speeds
+ ? Have strftime() pay attention to the value of ENVIRON["TZ"]
-Do a reference card
+ Additional manual features:
+ Document use of dbm arrays
+ Document NLS support
+ ? Add exercises
+ ? Add an error messages section to the manual
+ ? A section on where gawk is bounded
+ regex
+ i/o
+ sun fp conversions
-Allow OFMT and CONVFMT to be other than a floating point format.
+For 3.2
+=======
+ Add a lint check if the return value of a function is used but
+ the function did not supply a value.
-Allow redefining of builtin functions?
+ Do an optimization pass over parse tree?
-Make it faster and smaller.
+ Make awk '/foo/' files... run at egrep speeds
-For 3.x:
+For 4.x:
========
Create a gawk compiler?
@@ -110,6 +102,3 @@ Create a gawk compiler?
Create a gawk-to-C translator? (or C++??)
Provide awk profiling and debugging.
-
-
-