./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:

Filesize: 791.478 KB

Version history: (Expand)


CVS history: (Expand)


   2021-10-26 12:56:13 by Nia Alarie | Files touched by this commit (458)
Log message:
math: Replace RMD160 checksums with BLAKE2s checksums

All checksums have been double-checked against existing RMD160 and
SHA512 hashes
   2021-10-07 16:28:36 by Nia Alarie | Files touched by this commit (458)
Log message:
math: Remove SHA1 hashes for distfiles
   2021-09-12 01:44:50 by Tobias Nygren | Files touched by this commit (2)
Log message:
nickle: mac OS build fix
   2020-01-26 18:32:28 by Roland Illig | Files touched by this commit (981)
Log message:
all: migrate homepages from http to https

pkglint -r --network --only "migrate"

As a side-effect of migrating the homepages, pkglint also fixed a few
indentations in unrelated lines. These and the new homepages have been
checked manually.
   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.