./math/nickle, Desk calculator language

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 2.84, Package name: nickle-2.84, Maintainer: pkgsrc-users

Nickle is a desk calculator language with powerful programming and
scripting capabilities. Nickle supports a variety of datatypes, espe-
cially arbitrary precision integers, rationals, and imprecise reals.
The input language vaguely resembles C. Some things in C which do not
translate easily are different, some design choices have been made dif-
ferently, and a very few features are simply missing.


Required to run:
[devel/readline]

Required to build:
[pkgtools/cwrappers]

Master sites:

SHA1: ce346b5ba0cd0085dfd1a1351d03ffa8faeb3368
RMD160: 4c34eaa038dbae546467c652a02953dccaa128de
Filesize: 791.478 KB

Version history: (Expand)


CVS history: (Expand)


   2018-12-02 07:49:24 by Thomas Klausner | Files touched by this commit (4) | Package updated
Log message:
nickle: update to 2.84.

    Bump to version 2.84

    Construct a separate case for lexing '0' from other octal numbers

    This avoids needing code to identify this case within the octal number
    token generation code.

    Ignore '_' within numbers so it can be used as a separator

    Adopted from languages like Rust where this can be used to group
    digits in thousands for base-10 or power of two for base 2,8,16 to
    make them easier to read.

            123_456_789 = 123456789
            0xafff_1212 = 0xafff1212

    The patch makes both the lexer and string conversions support this.

    Add array initalizer tests

    Ignore SIGTTOU/SIGTTIN. Adjust TSTP processing

    When run as other than the master of a process group, nickle may not
    get all of its work done before the controlling shell takes over the
    tty and resets that control group. This means that any processing of
    terminal parameters may generate SIGTTOU/SIGTTIN signals, which end up
    re-entering the stop function and causing general chaos. Only SIG_IGN
    appears to appease the kernel into dealing with this case correctly.

    Make assignments to stdin/stdout/stderr affect C code

    Use values of these variables in the C code.

    Allow repeat initializers in implicit sized arrays for small dimensions

    When initializing an implicitly sized multi-dimensional array, permit
    repeat initializers ("...") to be used to fill out smaller dimensions.
    This is done by requiring that the maximum number of elements in each
    dimension be taken from an initalizer without a repeat element.

    This also requires allowing repeat initializers to be useful for
    resizable arrays, which required a change to the execution machinery
    as well.

    Remove incorrect tree walking in CompileSizeDimensions

    CompileSizeDimensions was incorrectly interpreting the tree structure
    for bare value nodes -- it is either passed an ARRAY, or a single
    expression value, which can either be a comprehension, an empty
    initializer or a simple expression. The simple expression case was
    incorrectly looking for a '...' element to the left, which cannot
    happen. It further recursed if it hadn't reached the end of the
    dimensions, which is pointless as that case will generate an
    error when the initializers are compiled later.

    Debian-bug: #911926

    Bump to version 2.83

    debian: Run CI tests from installed location (/usr/share/nickle/test)

    Install tests so they can be run later

    debian: Bump standards-version to 4.2.1

    Sign tarfiles. Check signature in debian/watch file.

    debian: Add autopkgtest CI script

    debian: Depend on debhelper version 11

    debian: Add debian/watch file

    Check to make sure debian package is up-to-date with upstream version.

    debian: Add hardening flag to debian/rules

    debian: Make debian/copyright conform to standard copyright-format

    debian: Add Homepage entry in debian/control

    debian: Bump compat to 11

    debian: Remove trailing whitespace from debian/changelog

    test: Remove spurious printf in check_exp test

    Spelling fixes in nickle.1.in

    expresion → expression
    formating → formatting

    Add AC_SYS_LARGEFILE to configure.ac

    This ensures that the correct macros to get large file support enabled
    are included in the config.h file.

    Include debian/source/format in tarball

    The tarball is used to build the debian package and without this file
    the resulting bits have a lintian warning.

    Update to version 2.82

    Add .gitignore and .dir-locals.el files

    Add tests for exp/log which cover a range of precisions

    These check log and exp with mathematical identities to see if they
    produce reasonable results at a range of precisions.

    Add Math::e_value. Fix exp and log precision error.

    e_value computes e to any desired precision.

    exp was incorrectly truncating the value just before the last
    computation step, which caused it to lose significant precision.

    log was range-reducing to 0-1 instead of 2-3, which put it outside the
    range of rapid convergence. It also needed another newtons method
    iteration step.

    Use mktime instead of timelocal

    timelocal is a glibc alias for mktime and isn't provided by the musl C
    library.
   2018-01-03 13:12:07 by Jonathan Perkin | Files touched by this commit (2)
Log message:
nickle: Fix build on SunOS and systems without timelocal().
   2017-11-23 17:15:23 by Thomas Klausner | Files touched by this commit (2) | Package updated
Log message:
nickle: update to 2.81.

    Update to version 2.81

    test: Can't test for Y2038 fix because 32 bit machines

    glibc on all 32-bit machines fails the Y2038 test. Change that to use
    the maximum possible 32-bit value instead (sigh)

    Remove unused variable in builtin-date.c

    Add date conversion functions localtime, gmtime, timelocal, timegm

    These just wrap the C versions, except they report actual years,
    rather than years since 1900 and January is month 1, not 0.

    Add JSON tests

    Add floats to JSON module.

    Support floating point values in JSON input and output.

    Make nickle-tutorial.pdf build reproducibly

    Set TeX dates to RELEASE_DATE.
    Remove PDF /ID entry.
   2017-04-23 16:49:27 by Takahiro Kambe | Files touched by this commit (3)
Log message:
Fix build problem on NetBSD 6.1_STABLE.

* Guard use of rl_catch_signals variable with "#if HAVE_RL_CATCH_SIGNALS".

Add comment in patch/patch-aa quote from last commit message.
   2017-03-20 14:13:51 by Thomas Klausner | Files touched by this commit (3) | Package updated
Log message:
Updated nickle to 2.79.

    Ensure data cache value array is aligned adequately

    Data caches are used to store pointers and other potentially long
    values. Make sure that the position of the values portion of the cache
    is aligned to a suitable address. Fixes a bus error on sparc64 machines.

    Building nickle on arm64 now, change package names
    built .deb and .rpm files are now amd64 instead of i386

    Update to version 2.78

    Also depend on bison and flex

    newer version of flex doesn't have yyunput

    This line was just removing a warning about yyunput unused; newer
    versions of flex don't even have that symbol anymore. Better to have a
    warning than fail to compile.

    Adapt tests to new automake requirements

    Automake now has a separate variable for the program to run the test
    scripts with, and breaks if you try to embed that in the
    TESTS_ENVIRONMENT variable, which used to be how this was done.

    Use 'G' format for elements when printing arrays in 'g' format

    This restricts array printing to just recurse one level.

    When using pointer as hash, first cast to intptr_t

    This avoids a compiler warning when pointers are not the same size as
    HashValues.

    Initialize 'replace' in NewTypedBox

    When left uninitialized, undefined results will occur. This caused a
    test failure on MIPS when being built with PIE support.

    Debian bug 857840.

    Reported-by: James Cowgill <jcowgill@debian.org>

    Open quote character is a single char, not a string

    When checking to see if a string needs to be dequoted, check the first
    character of the string against the quote character, rather than
    checking the whole string.

    Probably using strings for the quote markers wasn't the best API
    choice as this would have been caught by typechecking had the quote
    characters been an int instead.

    Define release date in configure.ac and use that instead of build date

    This avoids encoding the current date into the resulting output so
    that it can be reproduced.

    Add JSON input/output code

    Reverse data written in linked FileChains

    FileChains are linked in newest-in order, so they need to be written
    last-first.

    Add is_hash primitive

    Checks whether a value is a hash

    Abort karatsuba multiply in more places

    removed gratuitous -O2 from Makefile.am to let CFLAGS handle it

    Added a lightly-optimized choose(n, k) function to math.5c.

    The lack of a choose operator has continually bugged me;
    I've constantly rewritten it "the bad way". This is a
    lightly optimized version of that function that seems to
    handle most edge cases reasonably. It has only been tested a
    little bit.

    added check mode to sudoku solver

    cleaned up a bunch of sudoku solver stuff

    added edge cache to sudoku example

    tutorial: Close a couple of SGML tags

    nsgmls found a couple of unclosed tags which may make some versions
    of docbook tools unhappy.

    Fix release docs to use git log instead of git-log

    git-log disappeared a long time ago

    actually added Sudoku example

    added Sudoku generator example

    added sudoku example
   2015-11-04 00:33:46 by Alistair G. Crooks | Files touched by this commit (262)
Log message:
Add SHA512 digests for distfiles for math category

Problems found locating distfiles:
	Package dfftpack: missing distfile dfftpack-20001209.tar.gz
	Package eispack: missing distfile eispack-20001130.tar.gz
	Package fftpack: missing distfile fftpack-20001130.tar.gz
	Package linpack: missing distfile linpack-20010510.tar.gz
	Package minpack: missing distfile minpack-20001130.tar.gz
	Package odepack: missing distfile odepack-20001130.tar.gz
	Package py-networkx: missing distfile networkx-1.10.tar.gz
	Package py-sympy: missing distfile sympy-0.7.6.1.tar.gz
	Package quadpack: missing distfile quadpack-20001130.tar.gz

Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden).  All existing
SHA1 digests retained for now as an audit trail.
   2013-08-12 04:17:43 by OBATA Akio | Files touched by this commit (1)
Log message:
suppress detection of DOCBOOK, PR pkg/48115
   2013-07-15 04:02:29 by Ryo ONODERA | Files touched by this commit (177)
Log message:
* .include "../../devel/readline/buildlink3.mk" with USE_GNU_READLINE=yes
  are replaced with .include "../../devel/readline/buildlink3.mk", and
  USE_GNU_READLINE are removed,

* .include "../../devel/readline/buildlink3.mk" without USE_GNU_READLINE
  are replaced with .include "../../mk/readline.buildlink3.mk".