• Seed7 Release 2020-08-30

    From mertesthomas@gmail.com@21:1/5 to All on Wed Sep 9 03:10:09 2020
    Hello,

    I have released a new version of Seed7: seed7_05_20200830.tgz
    The download is here: https://sourceforge.net/projects/seed7/files
    In the Seed7 programming language new statements and operators can
    be declared easily. Types are first class objects and therefore templates/generics need no special syntax. Object orientation is used
    when it brings advantages and not in places when other solutions are
    more obvious.

    Seed7 is covered by the GPL (and LGPL for the Seed7 runtime library).

    Changelog:
    - Spelling corrections have been done in several files. Many thanks go
    to Jens Schleusener, for sending a source code misspelling report
    from Fossies.
    - The file README.md, which uses the markdown format, has been added.
    - Answers to seven new questions have been added to the FAQ.
    - Descriptions of array, hash, set and struct in the manual have been
    improved to contain examples of type declaration and usage.
    - In array.s7i the functions remove() and insert() have been improved
    to avoid copying whole elements.
    - The string slice functions have been changed to raise INDEX_ERROR for
    negative indices or lengths.
    - The array slice functions have been changed to raise INDEX_ERROR for
    negative indices or lengths.
    - In chkstr.sd7 the tests for string slices have been adjusted to the
    new behavior.
    - The example program chkidx.sd7 has been added. This program checks
    if INDEX_ERROR is correctly raised for string operations.
    - The example program chkarr.sd7 has been added. This program checks
    if array operations work correct.
    - The program chk_all.sd7 has been improved to call and check the new
    programs chkidx.sd7 and chkarr.sd7.
    - Compiler and interpreter have been improved to support the actions
    ARR_INSERT, ARR_INSERT_ARRAY and ARR_REMOVE_ARRAY.
    - The compiler has been improved to support name parameters with
    varfunc instead of func.
    - The file comp/arr_act.s7i has been improved to support ARR_INSERT,
    ARR_INSERT_ARRAY and ARR_REMOVE_ARRAY.
    - The file comp/str_act.s7i has been improved to support the changed
    string slice functions.
    - The functions arr_insert(), arr_insert_array() and arr_remove_array()
    have been added to arrlib.c. These functions work without copying
    whole elements. Instead a memmove() is used on a part of the array to
    move object records.
    - The functions arrInsert(), arrInsertArray() and arrRemoveArray() have
    been added to arr_rtl.c. These functions work without copying whole
    elements. Instead a memmove() is used on a part of the array to move
    64-bit elements.
    - The functions addCopiedStriToArray() and addCopiedStriToRtlArray()
    in strlib.c respectively str_rtl.c have been improved to scale
    better. Now these functions double the array size every time a
    realloc() is necessary. In the end the size is reduced to the actual
    array size.
    - In strlib.c the functions str_head(), str_range(), str_substr() and
    str_tail() have been improved to check for INDEX_ERROR.
    - In str_rtl.c the function strHeadSlice(), strHead(), strHeadTemp(),
    strRangeSlice(), strRange(), strSubstrSlice(), strSubstr(),
    strTailSlice() and strTail() have been improved to check for
    INDEX_ERROR.
    - The function strTailTemp() has been added to str_rtl.c. This function
    is used by the compiler to optimize expressions like: s := s[n ..];
    - In cmd_rtl.c the functions cmdMkdir(), cmdRemoveFile(),
    cmdRemoveTree(), cmdSetATime(), cmdSetFileMode(), cmdSetMTime() and
    cmdSymlink() have been improved.
    - In cmd_unx.c the memory management of cmdSetGroup() and cmdSetOwner()
    has been improved.

    Regards,
    Thomas Mertes

    --
    Seed7 Homepage: http://seed7.sourceforge.net
    Seed7 - The extensible programming language: User defined statements
    and operators, abstract data types, templates without special
    syntax, OO with interfaces and multiple dispatch, statically typed,
    interpreted or compiled, portable, runs under linux/unix/windows.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)