Calc Todo Items:

=-=

High priority items:

    * Improve the way that calc parses statements such as if, for, while
      and do so that when a C programmer does.  This works as expected:

            if (expr) {
                ...
            }

      However this WILL NOT WORK AS EXPECTED:

            if (expr)
            {
                ...
            }

      because calc will parse the if being terminated by
      an empty statement followed by a

            if (expr) ;
            {
                ...
            }

      See also "help statement", "help unexpected", "help todo", and
      "help bugs".

    * Consider using GNU autoconf / configure to build calc.

    * It is overkill to have nearly everything wind up in libcalc.
      Form a libcalcmath and a libcalclang so that an application
      that just wants to link with the calc math libs can use them
      without dragging in all of the other calc language, I/O,
      and builtin functions.

    * Fix any 'Known bugs' as noted in the BUGS file or as
      displayed by 'calc help bugs'.

=-=

Medium priority items:

    * Verify, complete or fix the 'SEE ALSO' help file sections.

    * Verify, complete or fix the 'LINK LIBRARY' help file sections.

    * Verify, complete or fix the 'LIMITS' help file sections.

    * Verify, complete or fix the 'SYNOPSIS' and 'TYPES' help file sections.

    * Perform a code coverage analysis of the 'make check' action
      and improve the coverage (within reason) of the regress.cal suite.

    * Address, if possible and reasonable, any Calc Mis-features
      as noted in the BUGS file or as displayed by 'calc help bugs'.

    * Internationalize calc by converting calc error messages and
      text strings (e.g., calc startup banner, show output, etc.)
      into calls to the GNU gettext internationalization facility.
      If somebody translated these strings into another language,
      setting $LANG would allow calc to produce error messages
      and text strings in that language.

=-=

Low priority items:

    * Complete the use of const where appropriate:

        const is beginning to be used with read-only tables and some
        function arguments.  This allows certain compilers to better
        optimize the code as well as alerts one to when some value
        is being changed inappropriately.  Use of const as in:

            int foo(const int curds, char *const whey)

        while legal C is not as useful because the caller is protected
        by the fact that args are passed by value.  However, the
        in the following:

            int bar(const char *fizbin, const HALF *data)

        is useful because it calls the compiler that the string pointed
        at by 'fizbin' and the HALF array pointer at by 'data' should be
        treated as read-only.

      One should make available a the fundamental math operations
      on ZVALUE, NUMBER and perhaps COMPLEX (without all of the
      other stuff) in a separate library.

    * Clean the source code and document it better.

    * Add a builtin function to access the 64 bit FNV hash which
      is currently being used internally in seed.c.

=-=

Calc bug reports and calc bug fixes should be sent to:

NOTE:   calc-bug-report Email address no longer in use

        NOTE: Remove spaces and replace 'at' with @, 'dot' with .

    This replaces the old calc-bugs Email address.

    To be sure we see your Email reporting a calc bug, please use the
    following phase in your Email Subject line:

        calc bug report

    That phrase in your subject line will help ensure your
    request will get past our anti-spam filters.  You may have
    additional words in your subject line.

    However, you may find it more helpful to simply subscribe
    to the calc-tester mailing list (see above) and then to
    send your report to that mailing list as a wider set calc
    testers may be able to help you.

=-=

The calc web site is located at:

    http://www.isthe.com/chongo/tech/comp/calc/

    NOTE: The Email address uses 'asthe', while the web site uses 'isthe'.

## Copyright (C) 1999-2007,2014,2021,2026  Landon Curt Noll
##
## Calc is open software; you can redistribute it and/or modify it under
## the terms of the version 2.1 of the GNU Lesser General Public License
## as published by the Free Software Foundation.
##
## Calc is distributed in the hope that it will be useful, but WITHOUT
## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
## or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General
## Public License for more details.
##
## A copy of version 2.1 of the GNU Lesser General Public License is
## distributed with calc under the filename COPYING-LGPL.  You should have
## received a copy with calc; if not, write to Free Software Foundation, Inc.
## 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
##
## Under source code control:   1999/10/20 07:42:55
## File existed as early as:    1999
##
## chongo <was here> /\oo/\     http://www.isthe.com/chongo/
## Share and enjoy!  :-)        http://www.isthe.com/chongo/tech/comp/calc/
