Seed7 Release 2020-08-30

mertesthomas@gmail.com
Wed, 9 Sep 2020 03:10:09 -0700 (PDT)

          From comp.compilers

Related articles
Seed7 Release 2020-08-30 mertesthomas@gmail.com (2020-09-09)
| List of all articles for this month |

From: mertesthomas@gmail.com
Newsgroups: comp.compilers
Date: Wed, 9 Sep 2020 03:10:09 -0700 (PDT)
Organization: Compilers Central
Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="66686"; mail-complaints-to="abuse@iecc.com"
Keywords: available, OOP
Posted-Date: 10 Sep 2020 13:54:06 EDT

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.


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.